TPTP Problem File: DAT227^1.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : DAT227^1 : TPTP v8.2.0. Released v7.0.0.
% Domain : Data Structures
% Problem : Tllist 869
% Version : [Bla16] axioms : Especial.
% English :
% Refs : [Loc10] Lochbihler (2010), Coinductive
% : [RB15] Reynolds & Blanchette (2015), A Decision Procedure for
% : [Bla16] Blanchette (2016), Email to Geoff Sutcliffe
% Source : [Bla16]
% Names : tllist__869.p [Bla16]
% Status : Theorem
% Rating : 1.00 v7.1.0
% Syntax : Number of formulae : 331 ( 94 unt; 55 typ; 0 def)
% Number of atoms : 1105 ( 256 equ; 10 cnn)
% Maximal formula atoms : 21 ( 4 avg)
% Number of connectives : 5222 ( 26 ~; 2 |; 35 &;4728 @)
% ( 0 <=>; 431 =>; 0 <=; 0 <~>)
% Maximal formula depth : 26 ( 12 avg)
% Number of types : 7 ( 6 usr)
% Number of type conns : 1658 (1658 >; 0 *; 0 +; 0 <<)
% Number of symbols : 53 ( 49 usr; 3 con; 0-10 aty)
% Number of variables : 1823 ( 290 ^;1441 !; 17 ?;1823 :)
% ( 75 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TH1_THM_EQU_NAR
% Comments : This file was generated by Isabelle (most likely Sledgehammer)
% 2016-07-13 14:54:19.629
%------------------------------------------------------------------------------
%----Could-be-implicit typings (9)
thf(ty_t_TLList__Mirabelle__qhjoikztpd_Otllist,type,
tLList446370796tllist: $tType > $tType > $tType ).
thf(ty_t_Set_Oset,type,
set: $tType > $tType ).
thf(ty_t_itself,type,
itself: $tType > $tType ).
thf(ty_tf_f,type,
f: $tType ).
thf(ty_tf_e,type,
e: $tType ).
thf(ty_tf_d,type,
d: $tType ).
thf(ty_tf_c,type,
c: $tType ).
thf(ty_tf_b,type,
b: $tType ).
thf(ty_tf_a,type,
a: $tType ).
%----Explicit typings (46)
thf(sy_cl_HOL_Otype,type,
type:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Orderings_Oord,type,
ord:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Orderings_Oorder,type,
order:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Orderings_Olinorder,type,
linorder:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Orderings_Opreorder,type,
preorder:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Complete__Partial__Order_Occpo,type,
comple1141879883l_ccpo:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Complete__Lattices_Ocomplete__lattice,type,
comple187826305attice:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_c_BNF__Def_Oeq__onp,type,
bNF_eq_onp:
!>[A: $tType] : ( ( A > $o ) > A > A > $o ) ).
thf(sy_c_BNF__Def_Orel__fun,type,
bNF_rel_fun:
!>[A: $tType,C: $tType,B: $tType,D: $tType] : ( ( A > C > $o ) > ( B > D > $o ) > ( A > B ) > ( C > D ) > $o ) ).
thf(sy_c_Complete__Partial__Order_Occpo__class_Ofixp,type,
comple939513234o_fixp:
!>[A: $tType] : ( ( A > A ) > A ) ).
thf(sy_c_Complete__Partial__Order_Occpo__class_Oiterates,type,
comple453842640erates:
!>[A: $tType] : ( ( A > A ) > ( set @ A ) ) ).
thf(sy_c_Complete__Partial__Order_Omonotone,type,
comple1396247847notone:
!>[A: $tType,B: $tType] : ( ( A > A > $o ) > ( B > B > $o ) > ( A > B ) > $o ) ).
thf(sy_c_Fun_Ocomp,type,
comp:
!>[B: $tType,C: $tType,A: $tType] : ( ( B > C ) > ( A > B ) > A > C ) ).
thf(sy_c_Fun_Ofun__upd,type,
fun_upd:
!>[A: $tType,B: $tType] : ( ( A > B ) > A > B > A > B ) ).
thf(sy_c_Fun_Omap__fun,type,
map_fun:
!>[C: $tType,A: $tType,B: $tType,D: $tType] : ( ( C > A ) > ( B > D ) > ( A > B ) > C > D ) ).
thf(sy_c_HOL_OEx1,type,
ex1:
!>[A: $tType] : ( ( A > $o ) > $o ) ).
thf(sy_c_If,type,
if:
!>[A: $tType] : ( $o > A > A > A ) ).
thf(sy_c_Orderings_Oord__class_Oless__eq,type,
ord_less_eq:
!>[A: $tType] : ( A > A > $o ) ).
thf(sy_c_Orderings_Oorder__class_Omono,type,
order_mono:
!>[A: $tType,B: $tType] : ( ( A > B ) > $o ) ).
thf(sy_c_Partial__Function_Ofun__ord,type,
partial_fun_ord:
!>[A: $tType,B: $tType,C: $tType] : ( ( A > B > $o ) > ( C > A ) > ( C > B ) > $o ) ).
thf(sy_c_Pure_Otype,type,
type2:
!>[A: $tType] : ( itself @ A ) ).
thf(sy_c_Quotient_OBex1__rel,type,
bex1_rel:
!>[A: $tType] : ( ( A > A > $o ) > ( A > $o ) > $o ) ).
thf(sy_c_Quotient_OQuotient3,type,
quotient3:
!>[A: $tType,B: $tType] : ( ( A > A > $o ) > ( A > B ) > ( B > A ) > $o ) ).
thf(sy_c_Relation_ODomainp,type,
domainp:
!>[A: $tType,B: $tType] : ( ( A > B > $o ) > A > $o ) ).
thf(sy_c_Relation_Oreflp,type,
reflp:
!>[A: $tType] : ( ( A > A > $o ) > $o ) ).
thf(sy_c_Relation_Orelcompp,type,
relcompp:
!>[A: $tType,B: $tType,C: $tType] : ( ( A > B > $o ) > ( B > C > $o ) > A > C > $o ) ).
thf(sy_c_Set_OCollect,type,
collect:
!>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
thf(sy_c_TLList__Mirabelle__qhjoikztpd_Otllist_Ocase__tllist,type,
tLList200813139tllist:
!>[B: $tType,C: $tType,A: $tType] : ( ( B > C ) > ( A > ( tLList446370796tllist @ A @ B ) > C ) > ( tLList446370796tllist @ A @ B ) > C ) ).
thf(sy_c_TLList__Mirabelle__qhjoikztpd_Otllist_Ocorec__tllist,type,
tLList1614408749tllist:
!>[E: $tType,B: $tType,A: $tType] : ( ( E > $o ) > ( E > B ) > ( E > A ) > ( E > $o ) > ( E > ( tLList446370796tllist @ A @ B ) ) > ( E > E ) > E > ( tLList446370796tllist @ A @ B ) ) ).
thf(sy_c_TLList__Mirabelle__qhjoikztpd_Otllist_Opred__tllist,type,
tLList11265572tllist:
!>[A: $tType,B: $tType] : ( ( A > $o ) > ( B > $o ) > ( tLList446370796tllist @ A @ B ) > $o ) ).
thf(sy_c_TLList__Mirabelle__qhjoikztpd_Otllist_Otllist__all2,type,
tLList1380991092t_all2:
!>[A: $tType,C: $tType,B: $tType,D: $tType] : ( ( A > C > $o ) > ( B > D > $o ) > ( tLList446370796tllist @ A @ B ) > ( tLList446370796tllist @ C @ D ) > $o ) ).
thf(sy_c_TLList__Mirabelle__qhjoikztpd_Ounfold__tllist,type,
tLList636831159tllist:
!>[A: $tType,B: $tType,C: $tType] : ( ( A > $o ) > ( A > B ) > ( A > C ) > ( A > A ) > A > ( tLList446370796tllist @ C @ B ) ) ).
thf(sy_c_Transfer_Obi__total,type,
bi_total:
!>[A: $tType,B: $tType] : ( ( A > B > $o ) > $o ) ).
thf(sy_c_Transfer_Obi__unique,type,
bi_unique:
!>[A: $tType,B: $tType] : ( ( A > B > $o ) > $o ) ).
thf(sy_c_Transfer_Oleft__total,type,
left_total:
!>[A: $tType,B: $tType] : ( ( A > B > $o ) > $o ) ).
thf(sy_c_Transfer_Oleft__unique,type,
left_unique:
!>[A: $tType,B: $tType] : ( ( A > B > $o ) > $o ) ).
thf(sy_c_Transfer_Orev__implies,type,
rev_implies: $o > $o > $o ).
thf(sy_c_Transfer_Oright__total,type,
right_total:
!>[A: $tType,B: $tType] : ( ( A > B > $o ) > $o ) ).
thf(sy_c_Transfer_Oright__unique,type,
right_unique:
!>[A: $tType,B: $tType] : ( ( A > B > $o ) > $o ) ).
thf(sy_c_Transfer_Otransfer__bforall,type,
transfer_bforall:
!>[A: $tType] : ( ( A > $o ) > ( A > $o ) > $o ) ).
thf(sy_c_Transfer_Otransfer__forall,type,
transfer_forall:
!>[A: $tType] : ( ( A > $o ) > $o ) ).
thf(sy_c_Transitive__Closure_Ortranclp,type,
transitive_rtranclp:
!>[A: $tType] : ( ( A > A > $o ) > A > A > $o ) ).
thf(sy_c_member,type,
member:
!>[A: $tType] : ( A > ( set @ A ) > $o ) ).
thf(sy_v_A,type,
a2: a > b > $o ).
thf(sy_v_B,type,
b2: c > e > $o ).
thf(sy_v_C,type,
c2: d > f > $o ).
%----Relevant facts (256)
thf(fact_0_tllist__all2__mono,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,P: A > B > $o,Q: C > D > $o,Xs: tLList446370796tllist @ A @ C,Ys: tLList446370796tllist @ B @ D,P2: A > B > $o,Q2: C > D > $o] :
( ( tLList1380991092t_all2 @ A @ B @ C @ D @ P @ Q @ Xs @ Ys )
=> ( ! [X: A,Y: B] :
( ( P @ X @ Y )
=> ( P2 @ X @ Y ) )
=> ( ! [X: C,Y: D] :
( ( Q @ X @ Y )
=> ( Q2 @ X @ Y ) )
=> ( tLList1380991092t_all2 @ A @ B @ C @ D @ P2 @ Q2 @ Xs @ Ys ) ) ) ) ).
% tllist_all2_mono
thf(fact_1_tllist_Orel__eq,axiom,
! [B: $tType,A: $tType] :
( ( tLList1380991092t_all2 @ A @ A @ B @ B
@ ^ [Y2: A,Z: A] : Y2 = Z
@ ^ [Y2: B,Z: B] : Y2 = Z )
= ( ^ [Y2: tLList446370796tllist @ A @ B,Z: tLList446370796tllist @ A @ B] : Y2 = Z ) ) ).
% tllist.rel_eq
thf(fact_2_tllist_Orel__refl,axiom,
! [D: $tType,C: $tType,R1a: C > C > $o,R2a: D > D > $o,X2: tLList446370796tllist @ C @ D] :
( ! [X: C] : ( R1a @ X @ X )
=> ( ! [X: D] : ( R2a @ X @ X )
=> ( tLList1380991092t_all2 @ C @ C @ D @ D @ R1a @ R2a @ X2 @ X2 ) ) ) ).
% tllist.rel_refl
thf(fact_3_let__rsp,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,R1: A > B > $o,R2: C > D > $o] :
( bNF_rel_fun @ A @ B @ ( ( A > C ) > C ) @ ( ( B > D ) > D ) @ R1 @ ( bNF_rel_fun @ ( A > C ) @ ( B > D ) @ C @ D @ ( bNF_rel_fun @ A @ B @ C @ D @ R1 @ R2 ) @ R2 )
@ ^ [S: A,F: A > C] : ( F @ S )
@ ^ [S: B,F: B > D] : ( F @ S ) ) ).
% let_rsp
thf(fact_4_Let__transfer,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
( bNF_rel_fun @ A @ B @ ( ( A > C ) > C ) @ ( ( B > D ) > D ) @ A2 @ ( bNF_rel_fun @ ( A > C ) @ ( B > D ) @ C @ D @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) @ B2 )
@ ^ [S: A,F: A > C] : ( F @ S )
@ ^ [S: B,F: B > D] : ( F @ S ) ) ).
% Let_transfer
thf(fact_5_tllist_Ocorec__transfer,axiom,
! [E: $tType,B: $tType,A: $tType,C: $tType,D: $tType,F2: $tType,S2: E > F2 > $o,R2: B > D > $o,R1: A > C > $o] :
( bNF_rel_fun @ ( E > $o ) @ ( F2 > $o ) @ ( ( E > B ) > ( E > A ) > ( E > $o ) > ( E > ( tLList446370796tllist @ A @ B ) ) > ( E > E ) > E > ( tLList446370796tllist @ A @ B ) ) @ ( ( F2 > D ) > ( F2 > C ) > ( F2 > $o ) > ( F2 > ( tLList446370796tllist @ C @ D ) ) > ( F2 > F2 ) > F2 > ( tLList446370796tllist @ C @ D ) )
@ ( bNF_rel_fun @ E @ F2 @ $o @ $o @ S2
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ ( bNF_rel_fun @ ( E > B ) @ ( F2 > D ) @ ( ( E > A ) > ( E > $o ) > ( E > ( tLList446370796tllist @ A @ B ) ) > ( E > E ) > E > ( tLList446370796tllist @ A @ B ) ) @ ( ( F2 > C ) > ( F2 > $o ) > ( F2 > ( tLList446370796tllist @ C @ D ) ) > ( F2 > F2 ) > F2 > ( tLList446370796tllist @ C @ D ) ) @ ( bNF_rel_fun @ E @ F2 @ B @ D @ S2 @ R2 )
@ ( bNF_rel_fun @ ( E > A ) @ ( F2 > C ) @ ( ( E > $o ) > ( E > ( tLList446370796tllist @ A @ B ) ) > ( E > E ) > E > ( tLList446370796tllist @ A @ B ) ) @ ( ( F2 > $o ) > ( F2 > ( tLList446370796tllist @ C @ D ) ) > ( F2 > F2 ) > F2 > ( tLList446370796tllist @ C @ D ) ) @ ( bNF_rel_fun @ E @ F2 @ A @ C @ S2 @ R1 )
@ ( bNF_rel_fun @ ( E > $o ) @ ( F2 > $o ) @ ( ( E > ( tLList446370796tllist @ A @ B ) ) > ( E > E ) > E > ( tLList446370796tllist @ A @ B ) ) @ ( ( F2 > ( tLList446370796tllist @ C @ D ) ) > ( F2 > F2 ) > F2 > ( tLList446370796tllist @ C @ D ) )
@ ( bNF_rel_fun @ E @ F2 @ $o @ $o @ S2
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ ( bNF_rel_fun @ ( E > ( tLList446370796tllist @ A @ B ) ) @ ( F2 > ( tLList446370796tllist @ C @ D ) ) @ ( ( E > E ) > E > ( tLList446370796tllist @ A @ B ) ) @ ( ( F2 > F2 ) > F2 > ( tLList446370796tllist @ C @ D ) ) @ ( bNF_rel_fun @ E @ F2 @ ( tLList446370796tllist @ A @ B ) @ ( tLList446370796tllist @ C @ D ) @ S2 @ ( tLList1380991092t_all2 @ A @ C @ B @ D @ R1 @ R2 ) ) @ ( bNF_rel_fun @ ( E > E ) @ ( F2 > F2 ) @ ( E > ( tLList446370796tllist @ A @ B ) ) @ ( F2 > ( tLList446370796tllist @ C @ D ) ) @ ( bNF_rel_fun @ E @ F2 @ E @ F2 @ S2 @ S2 ) @ ( bNF_rel_fun @ E @ F2 @ ( tLList446370796tllist @ A @ B ) @ ( tLList446370796tllist @ C @ D ) @ S2 @ ( tLList1380991092t_all2 @ A @ C @ B @ D @ R1 @ R2 ) ) ) ) ) ) )
@ ( tLList1614408749tllist @ E @ B @ A )
@ ( tLList1614408749tllist @ F2 @ D @ C ) ) ).
% tllist.corec_transfer
thf(fact_6_rel__funI,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o,F3: A > C,G: B > D] :
( ! [X: A,Y: B] :
( ( A2 @ X @ Y )
=> ( B2 @ ( F3 @ X ) @ ( G @ Y ) ) )
=> ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 @ F3 @ G ) ) ).
% rel_funI
thf(fact_7_fun_Orel__transfer,axiom,
! [B: $tType,A: $tType,C: $tType,E: $tType,D: $tType,Sa: A > C > $o,Sc: B > E > $o] :
( bNF_rel_fun @ ( A > B > $o ) @ ( C > E > $o ) @ ( ( D > A ) > ( D > B ) > $o ) @ ( ( D > C ) > ( D > E ) > $o )
@ ( bNF_rel_fun @ A @ C @ ( B > $o ) @ ( E > $o ) @ Sa
@ ( bNF_rel_fun @ B @ E @ $o @ $o @ Sc
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( bNF_rel_fun @ ( D > A ) @ ( D > C ) @ ( ( D > B ) > $o ) @ ( ( D > E ) > $o )
@ ( bNF_rel_fun @ D @ D @ A @ C
@ ^ [Y2: D,Z: D] : Y2 = Z
@ Sa )
@ ( bNF_rel_fun @ ( D > B ) @ ( D > E ) @ $o @ $o
@ ( bNF_rel_fun @ D @ D @ B @ E
@ ^ [Y2: D,Z: D] : Y2 = Z
@ Sc )
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( bNF_rel_fun @ D @ D @ A @ B
@ ^ [Y2: D,Z: D] : Y2 = Z )
@ ( bNF_rel_fun @ D @ D @ C @ E
@ ^ [Y2: D,Z: D] : Y2 = Z ) ) ).
% fun.rel_transfer
thf(fact_8_If__transfer,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( bNF_rel_fun @ $o @ $o @ ( A > A > A ) @ ( B > B > B )
@ ^ [Y2: $o,Z: $o] : Y2 = Z
@ ( bNF_rel_fun @ A @ B @ ( A > A ) @ ( B > B ) @ A2 @ ( bNF_rel_fun @ A @ B @ A @ B @ A2 @ A2 ) )
@ ( if @ A )
@ ( if @ B ) ) ).
% If_transfer
thf(fact_9_rel__fun__def__butlast,axiom,
! [B: $tType,D: $tType,C: $tType,E: $tType,F2: $tType,A: $tType,R: A > B > $o,S2: C > E > $o,T: D > F2 > $o,F3: A > C > D,G: B > E > F2] :
( ( bNF_rel_fun @ A @ B @ ( C > D ) @ ( E > F2 ) @ R @ ( bNF_rel_fun @ C @ E @ D @ F2 @ S2 @ T ) @ F3 @ G )
= ( ! [X3: A,Y3: B] :
( ( R @ X3 @ Y3 )
=> ( bNF_rel_fun @ C @ E @ D @ F2 @ S2 @ T @ ( F3 @ X3 ) @ ( G @ Y3 ) ) ) ) ) ).
% rel_fun_def_butlast
thf(fact_10_map__fun__parametric,axiom,
! [A: $tType,B: $tType,E: $tType,F2: $tType,H: $tType,G2: $tType,D: $tType,C: $tType,A2: A > C > $o,B2: B > D > $o,C2: E > G2 > $o,D2: F2 > H > $o] : ( bNF_rel_fun @ ( A > B ) @ ( C > D ) @ ( ( E > F2 ) > ( B > E ) > A > F2 ) @ ( ( G2 > H ) > ( D > G2 ) > C > H ) @ ( bNF_rel_fun @ A @ C @ B @ D @ A2 @ B2 ) @ ( bNF_rel_fun @ ( E > F2 ) @ ( G2 > H ) @ ( ( B > E ) > A > F2 ) @ ( ( D > G2 ) > C > H ) @ ( bNF_rel_fun @ E @ G2 @ F2 @ H @ C2 @ D2 ) @ ( bNF_rel_fun @ ( B > E ) @ ( D > G2 ) @ ( A > F2 ) @ ( C > H ) @ ( bNF_rel_fun @ B @ D @ E @ G2 @ B2 @ C2 ) @ ( bNF_rel_fun @ A @ C @ F2 @ H @ A2 @ D2 ) ) ) @ ( map_fun @ A @ B @ E @ F2 ) @ ( map_fun @ C @ D @ G2 @ H ) ) ).
% map_fun_parametric
thf(fact_11_rel__funD,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o,F3: A > C,G: B > D,X2: A,Y4: B] :
( ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 @ F3 @ G )
=> ( ( A2 @ X2 @ Y4 )
=> ( B2 @ ( F3 @ X2 ) @ ( G @ Y4 ) ) ) ) ).
% rel_funD
thf(fact_12_rel__funE,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o,F3: A > C,G: B > D,X2: A,Y4: B] :
( ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 @ F3 @ G )
=> ( ( A2 @ X2 @ Y4 )
=> ( B2 @ ( F3 @ X2 ) @ ( G @ Y4 ) ) ) ) ).
% rel_funE
thf(fact_13_apply__rsp_H,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,R1: A > B > $o,R2: C > D > $o,F3: A > C,G: B > D,X2: A,Y4: B] :
( ( bNF_rel_fun @ A @ B @ C @ D @ R1 @ R2 @ F3 @ G )
=> ( ( R1 @ X2 @ Y4 )
=> ( R2 @ ( F3 @ X2 ) @ ( G @ Y4 ) ) ) ) ).
% apply_rsp'
thf(fact_14_rel__funD2,axiom,
! [B: $tType,C: $tType,A: $tType,A2: A > A > $o,B2: B > C > $o,F3: A > B,G: A > C,X2: A] :
( ( bNF_rel_fun @ A @ A @ B @ C @ A2 @ B2 @ F3 @ G )
=> ( ( A2 @ X2 @ X2 )
=> ( B2 @ ( F3 @ X2 ) @ ( G @ X2 ) ) ) ) ).
% rel_funD2
thf(fact_15_tllist_Orel__transfer,axiom,
! [A: $tType,C: $tType,B: $tType,D: $tType,H: $tType,F2: $tType,G2: $tType,E: $tType,S1a: A > E > $o,S1c: C > G2 > $o,S2a: B > F2 > $o,S2c: D > H > $o] :
( bNF_rel_fun @ ( A > C > $o ) @ ( E > G2 > $o ) @ ( ( B > D > $o ) > ( tLList446370796tllist @ A @ B ) > ( tLList446370796tllist @ C @ D ) > $o ) @ ( ( F2 > H > $o ) > ( tLList446370796tllist @ E @ F2 ) > ( tLList446370796tllist @ G2 @ H ) > $o )
@ ( bNF_rel_fun @ A @ E @ ( C > $o ) @ ( G2 > $o ) @ S1a
@ ( bNF_rel_fun @ C @ G2 @ $o @ $o @ S1c
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( bNF_rel_fun @ ( B > D > $o ) @ ( F2 > H > $o ) @ ( ( tLList446370796tllist @ A @ B ) > ( tLList446370796tllist @ C @ D ) > $o ) @ ( ( tLList446370796tllist @ E @ F2 ) > ( tLList446370796tllist @ G2 @ H ) > $o )
@ ( bNF_rel_fun @ B @ F2 @ ( D > $o ) @ ( H > $o ) @ S2a
@ ( bNF_rel_fun @ D @ H @ $o @ $o @ S2c
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( bNF_rel_fun @ ( tLList446370796tllist @ A @ B ) @ ( tLList446370796tllist @ E @ F2 ) @ ( ( tLList446370796tllist @ C @ D ) > $o ) @ ( ( tLList446370796tllist @ G2 @ H ) > $o ) @ ( tLList1380991092t_all2 @ A @ E @ B @ F2 @ S1a @ S2a )
@ ( bNF_rel_fun @ ( tLList446370796tllist @ C @ D ) @ ( tLList446370796tllist @ G2 @ H ) @ $o @ $o @ ( tLList1380991092t_all2 @ C @ G2 @ D @ H @ S1c @ S2c )
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) ) )
@ ( tLList1380991092t_all2 @ A @ C @ B @ D )
@ ( tLList1380991092t_all2 @ E @ G2 @ F2 @ H ) ) ).
% tllist.rel_transfer
thf(fact_16_fun_Orel__refl,axiom,
! [B: $tType,D: $tType,Ra: B > B > $o,X2: D > B] :
( ! [X: B] : ( Ra @ X @ X )
=> ( bNF_rel_fun @ D @ D @ B @ B
@ ^ [Y2: D,Z: D] : Y2 = Z
@ Ra
@ X2
@ X2 ) ) ).
% fun.rel_refl
thf(fact_17_fun_Orel__eq,axiom,
! [A: $tType,D: $tType] :
( ( bNF_rel_fun @ D @ D @ A @ A
@ ^ [Y2: D,Z: D] : Y2 = Z
@ ^ [Y2: A,Z: A] : Y2 = Z )
= ( ^ [Y2: D > A,Z: D > A] : Y2 = Z ) ) ).
% fun.rel_eq
thf(fact_18_rel__fun__mono_H,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,Y5: A > B > $o,X4: A > B > $o,A2: C > D > $o,B2: C > D > $o,F3: A > C,G: B > D] :
( ! [X: A,Y: B] :
( ( Y5 @ X @ Y )
=> ( X4 @ X @ Y ) )
=> ( ! [X: C,Y: D] :
( ( A2 @ X @ Y )
=> ( B2 @ X @ Y ) )
=> ( ( bNF_rel_fun @ A @ B @ C @ D @ X4 @ A2 @ F3 @ G )
=> ( bNF_rel_fun @ A @ B @ C @ D @ Y5 @ B2 @ F3 @ G ) ) ) ) ).
% rel_fun_mono'
thf(fact_19_rel__fun__mono,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,X4: A > B > $o,A2: C > D > $o,F3: A > C,G: B > D,Y5: A > B > $o,B2: C > D > $o] :
( ( bNF_rel_fun @ A @ B @ C @ D @ X4 @ A2 @ F3 @ G )
=> ( ! [X: A,Y: B] :
( ( Y5 @ X @ Y )
=> ( X4 @ X @ Y ) )
=> ( ! [X: C,Y: D] :
( ( A2 @ X @ Y )
=> ( B2 @ X @ Y ) )
=> ( bNF_rel_fun @ A @ B @ C @ D @ Y5 @ B2 @ F3 @ G ) ) ) ) ).
% rel_fun_mono
thf(fact_20_map__fun__apply,axiom,
! [D: $tType,A: $tType,C: $tType,B: $tType] :
( ( map_fun @ B @ C @ D @ A )
= ( ^ [F: B > C,G3: D > A,H2: C > D,X3: B] : ( G3 @ ( H2 @ ( F @ X3 ) ) ) ) ) ).
% map_fun_apply
thf(fact_21_if__rsp,axiom,
! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A] :
( ( quotient3 @ A @ B @ R @ Abs @ Rep )
=> ( bNF_rel_fun @ $o @ $o @ ( A > A > A ) @ ( A > A > A )
@ ^ [Y2: $o,Z: $o] : Y2 = Z
@ ( bNF_rel_fun @ A @ A @ ( A > A ) @ ( A > A ) @ R @ ( bNF_rel_fun @ A @ A @ A @ A @ R @ R ) )
@ ( if @ A )
@ ( if @ A ) ) ) ).
% if_rsp
thf(fact_22_tllist_Opred__transfer,axiom,
! [A: $tType,B: $tType,D: $tType,C: $tType,R1: A > C > $o,R2: B > D > $o] :
( bNF_rel_fun @ ( A > $o ) @ ( C > $o ) @ ( ( B > $o ) > ( tLList446370796tllist @ A @ B ) > $o ) @ ( ( D > $o ) > ( tLList446370796tllist @ C @ D ) > $o )
@ ( bNF_rel_fun @ A @ C @ $o @ $o @ R1
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ ( bNF_rel_fun @ ( B > $o ) @ ( D > $o ) @ ( ( tLList446370796tllist @ A @ B ) > $o ) @ ( ( tLList446370796tllist @ C @ D ) > $o )
@ ( bNF_rel_fun @ B @ D @ $o @ $o @ R2
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ ( bNF_rel_fun @ ( tLList446370796tllist @ A @ B ) @ ( tLList446370796tllist @ C @ D ) @ $o @ $o @ ( tLList1380991092t_all2 @ A @ C @ B @ D @ R1 @ R2 )
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( tLList11265572tllist @ A @ B )
@ ( tLList11265572tllist @ C @ D ) ) ).
% tllist.pred_transfer
thf(fact_23_comp__transfer,axiom,
! [A: $tType,B: $tType,E: $tType,F2: $tType,D: $tType,C: $tType,B2: A > C > $o,C2: B > D > $o,A2: E > F2 > $o] : ( bNF_rel_fun @ ( A > B ) @ ( C > D ) @ ( ( E > A ) > E > B ) @ ( ( F2 > C ) > F2 > D ) @ ( bNF_rel_fun @ A @ C @ B @ D @ B2 @ C2 ) @ ( bNF_rel_fun @ ( E > A ) @ ( F2 > C ) @ ( E > B ) @ ( F2 > D ) @ ( bNF_rel_fun @ E @ F2 @ A @ C @ A2 @ B2 ) @ ( bNF_rel_fun @ E @ F2 @ B @ D @ A2 @ C2 ) ) @ ( comp @ A @ B @ E ) @ ( comp @ C @ D @ F2 ) ) ).
% comp_transfer
thf(fact_24_fun_Omap__transfer,axiom,
! [A: $tType,B: $tType,D: $tType,G2: $tType,F2: $tType,Rb: A > F2 > $o,Sd: B > G2 > $o] :
( bNF_rel_fun @ ( A > B ) @ ( F2 > G2 ) @ ( ( D > A ) > D > B ) @ ( ( D > F2 ) > D > G2 ) @ ( bNF_rel_fun @ A @ F2 @ B @ G2 @ Rb @ Sd )
@ ( bNF_rel_fun @ ( D > A ) @ ( D > F2 ) @ ( D > B ) @ ( D > G2 )
@ ( bNF_rel_fun @ D @ D @ A @ F2
@ ^ [Y2: D,Z: D] : Y2 = Z
@ Rb )
@ ( bNF_rel_fun @ D @ D @ B @ G2
@ ^ [Y2: D,Z: D] : Y2 = Z
@ Sd ) )
@ ( comp @ A @ B @ D )
@ ( comp @ F2 @ G2 @ D ) ) ).
% fun.map_transfer
thf(fact_25_o__rsp_I1_J,axiom,
! [A: $tType,B: $tType,E: $tType,F2: $tType,D: $tType,C: $tType,R2: A > C > $o,R3: B > D > $o,R1: E > F2 > $o] : ( bNF_rel_fun @ ( A > B ) @ ( C > D ) @ ( ( E > A ) > E > B ) @ ( ( F2 > C ) > F2 > D ) @ ( bNF_rel_fun @ A @ C @ B @ D @ R2 @ R3 ) @ ( bNF_rel_fun @ ( E > A ) @ ( F2 > C ) @ ( E > B ) @ ( F2 > D ) @ ( bNF_rel_fun @ E @ F2 @ A @ C @ R1 @ R2 ) @ ( bNF_rel_fun @ E @ F2 @ B @ D @ R1 @ R3 ) ) @ ( comp @ A @ B @ E ) @ ( comp @ C @ D @ F2 ) ) ).
% o_rsp(1)
thf(fact_26_o__rsp_I2_J,axiom,
! [E: $tType,F2: $tType,H: $tType,G2: $tType,R1: E > F2 > $o] :
( bNF_rel_fun @ ( G2 > H ) @ ( G2 > H ) @ ( ( E > G2 ) > E > H ) @ ( ( F2 > G2 ) > F2 > H )
@ ^ [Y2: G2 > H,Z: G2 > H] : Y2 = Z
@ ( bNF_rel_fun @ ( E > G2 ) @ ( F2 > G2 ) @ ( E > H ) @ ( F2 > H )
@ ( bNF_rel_fun @ E @ F2 @ G2 @ G2 @ R1
@ ^ [Y2: G2,Z: G2] : Y2 = Z )
@ ( bNF_rel_fun @ E @ F2 @ H @ H @ R1
@ ^ [Y2: H,Z: H] : Y2 = Z ) )
@ ( comp @ G2 @ H @ E )
@ ( comp @ G2 @ H @ F2 ) ) ).
% o_rsp(2)
thf(fact_27_tllist_Ocase__transfer,axiom,
! [B: $tType,E: $tType,A: $tType,C: $tType,F2: $tType,D: $tType,R2: B > D > $o,S2: E > F2 > $o,R1: A > C > $o] : ( bNF_rel_fun @ ( B > E ) @ ( D > F2 ) @ ( ( A > ( tLList446370796tllist @ A @ B ) > E ) > ( tLList446370796tllist @ A @ B ) > E ) @ ( ( C > ( tLList446370796tllist @ C @ D ) > F2 ) > ( tLList446370796tllist @ C @ D ) > F2 ) @ ( bNF_rel_fun @ B @ D @ E @ F2 @ R2 @ S2 ) @ ( bNF_rel_fun @ ( A > ( tLList446370796tllist @ A @ B ) > E ) @ ( C > ( tLList446370796tllist @ C @ D ) > F2 ) @ ( ( tLList446370796tllist @ A @ B ) > E ) @ ( ( tLList446370796tllist @ C @ D ) > F2 ) @ ( bNF_rel_fun @ A @ C @ ( ( tLList446370796tllist @ A @ B ) > E ) @ ( ( tLList446370796tllist @ C @ D ) > F2 ) @ R1 @ ( bNF_rel_fun @ ( tLList446370796tllist @ A @ B ) @ ( tLList446370796tllist @ C @ D ) @ E @ F2 @ ( tLList1380991092t_all2 @ A @ C @ B @ D @ R1 @ R2 ) @ S2 ) ) @ ( bNF_rel_fun @ ( tLList446370796tllist @ A @ B ) @ ( tLList446370796tllist @ C @ D ) @ E @ F2 @ ( tLList1380991092t_all2 @ A @ C @ B @ D @ R1 @ R2 ) @ S2 ) ) @ ( tLList200813139tllist @ B @ E @ A ) @ ( tLList200813139tllist @ D @ F2 @ C ) ) ).
% tllist.case_transfer
thf(fact_28_case__tllist__transfer,axiom,
! [A: $tType,B: $tType,E: $tType,F2: $tType,D: $tType,C: $tType,B2: A > C > $o,C2: B > D > $o,A2: E > F2 > $o] : ( bNF_rel_fun @ ( A > B ) @ ( C > D ) @ ( ( E > ( tLList446370796tllist @ E @ A ) > B ) > ( tLList446370796tllist @ E @ A ) > B ) @ ( ( F2 > ( tLList446370796tllist @ F2 @ C ) > D ) > ( tLList446370796tllist @ F2 @ C ) > D ) @ ( bNF_rel_fun @ A @ C @ B @ D @ B2 @ C2 ) @ ( bNF_rel_fun @ ( E > ( tLList446370796tllist @ E @ A ) > B ) @ ( F2 > ( tLList446370796tllist @ F2 @ C ) > D ) @ ( ( tLList446370796tllist @ E @ A ) > B ) @ ( ( tLList446370796tllist @ F2 @ C ) > D ) @ ( bNF_rel_fun @ E @ F2 @ ( ( tLList446370796tllist @ E @ A ) > B ) @ ( ( tLList446370796tllist @ F2 @ C ) > D ) @ A2 @ ( bNF_rel_fun @ ( tLList446370796tllist @ E @ A ) @ ( tLList446370796tllist @ F2 @ C ) @ B @ D @ ( tLList1380991092t_all2 @ E @ F2 @ A @ C @ A2 @ B2 ) @ C2 ) ) @ ( bNF_rel_fun @ ( tLList446370796tllist @ E @ A ) @ ( tLList446370796tllist @ F2 @ C ) @ B @ D @ ( tLList1380991092t_all2 @ E @ F2 @ A @ C @ A2 @ B2 ) @ C2 ) ) @ ( tLList200813139tllist @ A @ B @ E ) @ ( tLList200813139tllist @ C @ D @ F2 ) ) ).
% case_tllist_transfer
thf(fact_29_fun__ord__parametric,axiom,
! [C: $tType,D: $tType,A: $tType,B: $tType,F2: $tType,E: $tType,C2: A > B > $o,A2: C > E > $o,B2: D > F2 > $o] :
( ( bi_total @ A @ B @ C2 )
=> ( bNF_rel_fun @ ( C > D > $o ) @ ( E > F2 > $o ) @ ( ( A > C ) > ( A > D ) > $o ) @ ( ( B > E ) > ( B > F2 ) > $o )
@ ( bNF_rel_fun @ C @ E @ ( D > $o ) @ ( F2 > $o ) @ A2
@ ( bNF_rel_fun @ D @ F2 @ $o @ $o @ B2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( bNF_rel_fun @ ( A > C ) @ ( B > E ) @ ( ( A > D ) > $o ) @ ( ( B > F2 ) > $o ) @ ( bNF_rel_fun @ A @ B @ C @ E @ C2 @ A2 )
@ ( bNF_rel_fun @ ( A > D ) @ ( B > F2 ) @ $o @ $o @ ( bNF_rel_fun @ A @ B @ D @ F2 @ C2 @ B2 )
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( partial_fun_ord @ C @ D @ A )
@ ( partial_fun_ord @ E @ F2 @ B ) ) ) ).
% fun_ord_parametric
thf(fact_30_comp__apply,axiom,
! [C: $tType,A: $tType,B: $tType] :
( ( comp @ B @ A @ C )
= ( ^ [F: B > A,G3: C > B,X3: C] : ( F @ ( G3 @ X3 ) ) ) ) ).
% comp_apply
thf(fact_31_map__fun_Ocomp,axiom,
! [E: $tType,C: $tType,A: $tType,F2: $tType,D: $tType,B: $tType,F3: E > C,G: D > F2,H3: C > A,I: B > D] :
( ( comp @ ( C > D ) @ ( E > F2 ) @ ( A > B ) @ ( map_fun @ E @ C @ D @ F2 @ F3 @ G ) @ ( map_fun @ C @ A @ B @ D @ H3 @ I ) )
= ( map_fun @ E @ A @ B @ F2 @ ( comp @ C @ A @ E @ H3 @ F3 ) @ ( comp @ D @ F2 @ B @ G @ I ) ) ) ).
% map_fun.comp
thf(fact_32_cond__prs,axiom,
! [A: $tType,B: $tType,R: A > A > $o,Absf: A > B,Repf: B > A,A3: $o,B3: B,C3: B] :
( ( quotient3 @ A @ B @ R @ Absf @ Repf )
=> ( ( A3
=> ( ( Absf @ ( if @ A @ A3 @ ( Repf @ B3 ) @ ( Repf @ C3 ) ) )
= B3 ) )
& ( ~ A3
=> ( ( Absf @ ( if @ A @ A3 @ ( Repf @ B3 ) @ ( Repf @ C3 ) ) )
= C3 ) ) ) ) ).
% cond_prs
thf(fact_33_Quotient3I,axiom,
! [B: $tType,A: $tType,Abs: B > A,Rep: A > B,R: B > B > $o] :
( ! [A4: A] :
( ( Abs @ ( Rep @ A4 ) )
= A4 )
=> ( ! [A4: A] : ( R @ ( Rep @ A4 ) @ ( Rep @ A4 ) )
=> ( ! [R4: B,S3: B] :
( ( R @ R4 @ S3 )
= ( ( R @ R4 @ R4 )
& ( R @ S3 @ S3 )
& ( ( Abs @ R4 )
= ( Abs @ S3 ) ) ) )
=> ( quotient3 @ B @ A @ R @ Abs @ Rep ) ) ) ) ).
% Quotient3I
thf(fact_34_equals__rsp,axiom,
! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,Xa: A,Xb: A,Ya: A,Yb: A] :
( ( quotient3 @ A @ B @ R @ Abs @ Rep )
=> ( ( R @ Xa @ Xb )
=> ( ( R @ Ya @ Yb )
=> ( ( R @ Xa @ Ya )
= ( R @ Xb @ Yb ) ) ) ) ) ).
% equals_rsp
thf(fact_35_rep__abs__rsp,axiom,
! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,X1: A,X22: A] :
( ( quotient3 @ A @ B @ R @ Abs @ Rep )
=> ( ( R @ X1 @ X22 )
=> ( R @ X1 @ ( Rep @ ( Abs @ X22 ) ) ) ) ) ).
% rep_abs_rsp
thf(fact_36_bi__total__eq,axiom,
! [A: $tType] :
( bi_total @ A @ A
@ ^ [Y2: A,Z: A] : Y2 = Z ) ).
% bi_total_eq
thf(fact_37_comp__apply__eq,axiom,
! [B: $tType,D: $tType,A: $tType,C: $tType,F3: B > A,G: C > B,X2: C,H3: D > A,K: C > D] :
( ( ( F3 @ ( G @ X2 ) )
= ( H3 @ ( K @ X2 ) ) )
=> ( ( comp @ B @ A @ C @ F3 @ G @ X2 )
= ( comp @ D @ A @ C @ H3 @ K @ X2 ) ) ) ).
% comp_apply_eq
thf(fact_38_bi__total__def,axiom,
! [B: $tType,A: $tType] :
( ( bi_total @ A @ B )
= ( ^ [R5: A > B > $o] :
( ! [X3: A] :
( ^ [P3: B > $o] :
? [X5: B] : ( P3 @ X5 )
@ ( R5 @ X3 ) )
& ! [Y3: B] :
? [X3: A] : ( R5 @ X3 @ Y3 ) ) ) ) ).
% bi_total_def
thf(fact_39_Quotient3__def,axiom,
! [B: $tType,A: $tType] :
( ( quotient3 @ A @ B )
= ( ^ [R5: A > A > $o,Abs2: A > B,Rep2: B > A] :
( ! [A5: B] :
( ( Abs2 @ ( Rep2 @ A5 ) )
= A5 )
& ! [A5: B] : ( R5 @ ( Rep2 @ A5 ) @ ( Rep2 @ A5 ) )
& ! [R6: A,S: A] :
( ( R5 @ R6 @ S )
= ( ( R5 @ R6 @ R6 )
& ( R5 @ S @ S )
& ( ( Abs2 @ R6 )
= ( Abs2 @ S ) ) ) ) ) ) ) ).
% Quotient3_def
thf(fact_40_Quotient3__rel,axiom,
! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,R7: A,S4: A] :
( ( quotient3 @ A @ B @ R @ Abs @ Rep )
=> ( ( ( R @ R7 @ R7 )
& ( R @ S4 @ S4 )
& ( ( Abs @ R7 )
= ( Abs @ S4 ) ) )
= ( R @ R7 @ S4 ) ) ) ).
% Quotient3_rel
thf(fact_41_fun_Omap__comp,axiom,
! [B: $tType,C: $tType,A: $tType,D: $tType,G: B > C,F3: A > B,V: D > A] :
( ( comp @ B @ C @ D @ G @ ( comp @ A @ B @ D @ F3 @ V ) )
= ( comp @ A @ C @ D @ ( comp @ B @ C @ A @ G @ F3 ) @ V ) ) ).
% fun.map_comp
thf(fact_42_Quotient3__refl1,axiom,
! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,R7: A,S4: A] :
( ( quotient3 @ A @ B @ R @ Abs @ Rep )
=> ( ( R @ R7 @ S4 )
=> ( R @ R7 @ R7 ) ) ) ).
% Quotient3_refl1
thf(fact_43_Quotient3__refl2,axiom,
! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,R7: A,S4: A] :
( ( quotient3 @ A @ B @ R @ Abs @ Rep )
=> ( ( R @ R7 @ S4 )
=> ( R @ S4 @ S4 ) ) ) ).
% Quotient3_refl2
thf(fact_44_rep__abs__rsp__left,axiom,
! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,X1: A,X22: A] :
( ( quotient3 @ A @ B @ R @ Abs @ Rep )
=> ( ( R @ X1 @ X22 )
=> ( R @ ( Rep @ ( Abs @ X1 ) ) @ X22 ) ) ) ).
% rep_abs_rsp_left
thf(fact_45_mem__Collect__eq,axiom,
! [A: $tType,A3: A,P: A > $o] :
( ( member @ A @ A3 @ ( collect @ A @ P ) )
= ( P @ A3 ) ) ).
% mem_Collect_eq
thf(fact_46_Collect__mem__eq,axiom,
! [A: $tType,A2: set @ A] :
( ( collect @ A
@ ^ [X3: A] : ( member @ A @ X3 @ A2 ) )
= A2 ) ).
% Collect_mem_eq
thf(fact_47_Collect__cong,axiom,
! [A: $tType,P: A > $o,Q: A > $o] :
( ! [X: A] :
( ( P @ X )
= ( Q @ X ) )
=> ( ( collect @ A @ P )
= ( collect @ A @ Q ) ) ) ).
% Collect_cong
thf(fact_48_ext,axiom,
! [B: $tType,A: $tType,F3: A > B,G: A > B] :
( ! [X: A] :
( ( F3 @ X )
= ( G @ X ) )
=> ( F3 = G ) ) ).
% ext
thf(fact_49_Quotient3__abs__rep,axiom,
! [A: $tType,B: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,A3: B] :
( ( quotient3 @ A @ B @ R @ Abs @ Rep )
=> ( ( Abs @ ( Rep @ A3 ) )
= A3 ) ) ).
% Quotient3_abs_rep
thf(fact_50_Quotient3__rel__abs,axiom,
! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,R7: A,S4: A] :
( ( quotient3 @ A @ B @ R @ Abs @ Rep )
=> ( ( R @ R7 @ S4 )
=> ( ( Abs @ R7 )
= ( Abs @ S4 ) ) ) ) ).
% Quotient3_rel_abs
thf(fact_51_Quotient3__rel__rep,axiom,
! [A: $tType,B: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,A3: B,B3: B] :
( ( quotient3 @ A @ B @ R @ Abs @ Rep )
=> ( ( R @ ( Rep @ A3 ) @ ( Rep @ B3 ) )
= ( A3 = B3 ) ) ) ).
% Quotient3_rel_rep
thf(fact_52_Quotient3__rep__abs,axiom,
! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,R7: A] :
( ( quotient3 @ A @ B @ R @ Abs @ Rep )
=> ( ( R @ R7 @ R7 )
=> ( R @ ( Rep @ ( Abs @ R7 ) ) @ R7 ) ) ) ).
% Quotient3_rep_abs
thf(fact_53_Quotient3__rep__reflp,axiom,
! [A: $tType,B: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,A3: B] :
( ( quotient3 @ A @ B @ R @ Abs @ Rep )
=> ( R @ ( Rep @ A3 ) @ ( Rep @ A3 ) ) ) ).
% Quotient3_rep_reflp
thf(fact_54_rewriteL__comp__comp,axiom,
! [C: $tType,B: $tType,A: $tType,D: $tType,F3: C > B,G: A > C,L: A > B,H3: D > A] :
( ( ( comp @ C @ B @ A @ F3 @ G )
= L )
=> ( ( comp @ C @ B @ D @ F3 @ ( comp @ A @ C @ D @ G @ H3 ) )
= ( comp @ A @ B @ D @ L @ H3 ) ) ) ).
% rewriteL_comp_comp
thf(fact_55_rewriteR__comp__comp,axiom,
! [C: $tType,D: $tType,B: $tType,A: $tType,G: C > B,H3: A > C,R7: A > B,F3: B > D] :
( ( ( comp @ C @ B @ A @ G @ H3 )
= R7 )
=> ( ( comp @ C @ D @ A @ ( comp @ B @ D @ C @ F3 @ G ) @ H3 )
= ( comp @ B @ D @ A @ F3 @ R7 ) ) ) ).
% rewriteR_comp_comp
thf(fact_56_rewriteL__comp__comp2,axiom,
! [A: $tType,C: $tType,B: $tType,D: $tType,E: $tType,F3: C > B,G: A > C,L1: D > B,L2: A > D,H3: E > A,R7: E > D] :
( ( ( comp @ C @ B @ A @ F3 @ G )
= ( comp @ D @ B @ A @ L1 @ L2 ) )
=> ( ( ( comp @ A @ D @ E @ L2 @ H3 )
= R7 )
=> ( ( comp @ C @ B @ E @ F3 @ ( comp @ A @ C @ E @ G @ H3 ) )
= ( comp @ D @ B @ E @ L1 @ R7 ) ) ) ) ).
% rewriteL_comp_comp2
thf(fact_57_rewriteR__comp__comp2,axiom,
! [C: $tType,B: $tType,E: $tType,D: $tType,A: $tType,G: C > B,H3: A > C,R12: D > B,R22: A > D,F3: B > E,L: D > E] :
( ( ( comp @ C @ B @ A @ G @ H3 )
= ( comp @ D @ B @ A @ R12 @ R22 ) )
=> ( ( ( comp @ B @ E @ D @ F3 @ R12 )
= L )
=> ( ( comp @ C @ E @ A @ ( comp @ B @ E @ C @ F3 @ G ) @ H3 )
= ( comp @ D @ E @ A @ L @ R22 ) ) ) ) ).
% rewriteR_comp_comp2
thf(fact_58_comp__eq__dest__lhs,axiom,
! [C: $tType,B: $tType,A: $tType,A3: C > B,B3: A > C,C3: A > B,V: A] :
( ( ( comp @ C @ B @ A @ A3 @ B3 )
= C3 )
=> ( ( A3 @ ( B3 @ V ) )
= ( C3 @ V ) ) ) ).
% comp_eq_dest_lhs
thf(fact_59_comp__eq__elim,axiom,
! [C: $tType,B: $tType,D: $tType,A: $tType,A3: C > B,B3: A > C,C3: D > B,D3: A > D] :
( ( ( comp @ C @ B @ A @ A3 @ B3 )
= ( comp @ D @ B @ A @ C3 @ D3 ) )
=> ! [V2: A] :
( ( A3 @ ( B3 @ V2 ) )
= ( C3 @ ( D3 @ V2 ) ) ) ) ).
% comp_eq_elim
thf(fact_60_comp__eq__dest,axiom,
! [C: $tType,B: $tType,D: $tType,A: $tType,A3: C > B,B3: A > C,C3: D > B,D3: A > D,V: A] :
( ( ( comp @ C @ B @ A @ A3 @ B3 )
= ( comp @ D @ B @ A @ C3 @ D3 ) )
=> ( ( A3 @ ( B3 @ V ) )
= ( C3 @ ( D3 @ V ) ) ) ) ).
% comp_eq_dest
thf(fact_61_comp__assoc,axiom,
! [B: $tType,D: $tType,C: $tType,A: $tType,F3: D > B,G: C > D,H3: A > C] :
( ( comp @ C @ B @ A @ ( comp @ D @ B @ C @ F3 @ G ) @ H3 )
= ( comp @ D @ B @ A @ F3 @ ( comp @ C @ D @ A @ G @ H3 ) ) ) ).
% comp_assoc
thf(fact_62_comp__def,axiom,
! [A: $tType,C: $tType,B: $tType] :
( ( comp @ B @ C @ A )
= ( ^ [F: B > C,G3: A > B,X3: A] : ( F @ ( G3 @ X3 ) ) ) ) ).
% comp_def
thf(fact_63_o__prs_I1_J,axiom,
! [C: $tType,E: $tType,A: $tType,B: $tType,F2: $tType,D: $tType,R1: A > A > $o,Abs1: A > B,Rep1: B > A,R2: C > C > $o,Abs22: C > D,Rep22: D > C,R3: E > E > $o,Abs3: E > F2,Rep3: F2 > E] :
( ( quotient3 @ A @ B @ R1 @ Abs1 @ Rep1 )
=> ( ( quotient3 @ C @ D @ R2 @ Abs22 @ Rep22 )
=> ( ( quotient3 @ E @ F2 @ R3 @ Abs3 @ Rep3 )
=> ( ( map_fun @ ( D > F2 ) @ ( C > E ) @ ( ( A > C ) > A > E ) @ ( ( B > D ) > B > F2 ) @ ( map_fun @ C @ D @ F2 @ E @ Abs22 @ Rep3 ) @ ( map_fun @ ( B > D ) @ ( A > C ) @ ( A > E ) @ ( B > F2 ) @ ( map_fun @ A @ B @ D @ C @ Abs1 @ Rep22 ) @ ( map_fun @ B @ A @ E @ F2 @ Rep1 @ Abs3 ) ) @ ( comp @ C @ E @ A ) )
= ( comp @ D @ F2 @ B ) ) ) ) ) ).
% o_prs(1)
thf(fact_64_tllist_Obi__total__rel,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,R1: A > C > $o,R2: B > D > $o] :
( ( bi_total @ A @ C @ R1 )
=> ( ( bi_total @ B @ D @ R2 )
=> ( bi_total @ ( tLList446370796tllist @ A @ B ) @ ( tLList446370796tllist @ C @ D ) @ ( tLList1380991092t_all2 @ A @ C @ B @ D @ R1 @ R2 ) ) ) ) ).
% tllist.bi_total_rel
thf(fact_65_map__fun_Ocompositionality,axiom,
! [D: $tType,F2: $tType,C: $tType,E: $tType,B: $tType,A: $tType,F3: E > C,G: D > F2,H3: C > A,I: B > D,Fun: A > B] :
( ( map_fun @ E @ C @ D @ F2 @ F3 @ G @ ( map_fun @ C @ A @ B @ D @ H3 @ I @ Fun ) )
= ( map_fun @ E @ A @ B @ F2 @ ( comp @ C @ A @ E @ H3 @ F3 ) @ ( comp @ D @ F2 @ B @ G @ I ) @ Fun ) ) ).
% map_fun.compositionality
thf(fact_66_map__fun__def,axiom,
! [B: $tType,D: $tType,A: $tType,C: $tType] :
( ( map_fun @ C @ A @ B @ D )
= ( ^ [F: C > A,G3: B > D,H2: A > B] : ( comp @ A @ D @ C @ ( comp @ B @ D @ A @ G3 @ H2 ) @ F ) ) ) ).
% map_fun_def
thf(fact_67_fun__quotient3,axiom,
! [A: $tType,B: $tType,C: $tType,D: $tType,R1: A > A > $o,Abs12: A > B,Rep12: B > A,R2: C > C > $o,Abs23: C > D,Rep23: D > C] :
( ( quotient3 @ A @ B @ R1 @ Abs12 @ Rep12 )
=> ( ( quotient3 @ C @ D @ R2 @ Abs23 @ Rep23 )
=> ( quotient3 @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ A @ C @ C @ R1 @ R2 ) @ ( map_fun @ B @ A @ C @ D @ Rep12 @ Abs23 ) @ ( map_fun @ A @ B @ D @ C @ Abs12 @ Rep23 ) ) ) ) ).
% fun_quotient3
thf(fact_68_apply__rspQ3,axiom,
! [B: $tType,C: $tType,A: $tType,R1: A > A > $o,Abs1: A > B,Rep1: B > A,R2: C > C > $o,F3: A > C,G: A > C,X2: A,Y4: A] :
( ( quotient3 @ A @ B @ R1 @ Abs1 @ Rep1 )
=> ( ( bNF_rel_fun @ A @ A @ C @ C @ R1 @ R2 @ F3 @ G )
=> ( ( R1 @ X2 @ Y4 )
=> ( R2 @ ( F3 @ X2 ) @ ( G @ Y4 ) ) ) ) ) ).
% apply_rspQ3
thf(fact_69_apply__rspQ3_H_H,axiom,
! [C: $tType,A: $tType,B: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,S2: C > C > $o,F3: A > C,X2: B] :
( ( quotient3 @ A @ B @ R @ Abs @ Rep )
=> ( ( bNF_rel_fun @ A @ A @ C @ C @ R @ S2 @ F3 @ F3 )
=> ( S2 @ ( F3 @ ( Rep @ X2 ) ) @ ( F3 @ ( Rep @ X2 ) ) ) ) ) ).
% apply_rspQ3''
thf(fact_70_let__prs,axiom,
! [C: $tType,A: $tType,B: $tType,D: $tType,R1: A > A > $o,Abs1: A > B,Rep1: B > A,R2: C > C > $o,Abs22: C > D,Rep22: D > C] :
( ( quotient3 @ A @ B @ R1 @ Abs1 @ Rep1 )
=> ( ( quotient3 @ C @ D @ R2 @ Abs22 @ Rep22 )
=> ( ( map_fun @ D @ C @ ( ( C > A ) > A ) @ ( ( D > B ) > B ) @ Rep22 @ ( map_fun @ ( D > B ) @ ( C > A ) @ A @ B @ ( map_fun @ C @ D @ B @ A @ Abs22 @ Rep1 ) @ Abs1 )
@ ^ [S: C,F: C > A] : ( F @ S ) )
= ( ^ [S: D,F: D > B] : ( F @ S ) ) ) ) ) ).
% let_prs
thf(fact_71_quot__rel__rsp,axiom,
! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A] :
( ( quotient3 @ A @ B @ R @ Abs @ Rep )
=> ( bNF_rel_fun @ A @ A @ ( A > $o ) @ ( A > $o ) @ R
@ ( bNF_rel_fun @ A @ A @ $o @ $o @ R
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ R
@ R ) ) ).
% quot_rel_rsp
thf(fact_72_relcompp__transfer,axiom,
! [C: $tType,A: $tType,E: $tType,F2: $tType,B: $tType,D: $tType,B2: A > B > $o,A2: C > D > $o,C2: E > F2 > $o] :
( ( bi_total @ A @ B @ B2 )
=> ( bNF_rel_fun @ ( C > A > $o ) @ ( D > B > $o ) @ ( ( A > E > $o ) > C > E > $o ) @ ( ( B > F2 > $o ) > D > F2 > $o )
@ ( bNF_rel_fun @ C @ D @ ( A > $o ) @ ( B > $o ) @ A2
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ B2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( bNF_rel_fun @ ( A > E > $o ) @ ( B > F2 > $o ) @ ( C > E > $o ) @ ( D > F2 > $o )
@ ( bNF_rel_fun @ A @ B @ ( E > $o ) @ ( F2 > $o ) @ B2
@ ( bNF_rel_fun @ E @ F2 @ $o @ $o @ C2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( bNF_rel_fun @ C @ D @ ( E > $o ) @ ( F2 > $o ) @ A2
@ ( bNF_rel_fun @ E @ F2 @ $o @ $o @ C2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) ) )
@ ( relcompp @ C @ A @ E )
@ ( relcompp @ D @ B @ F2 ) ) ) ).
% relcompp_transfer
thf(fact_73_monotone__parametric,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
( ( bi_total @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > A > $o ) @ ( B > B > $o ) @ ( ( C > C > $o ) > ( A > C ) > $o ) @ ( ( D > D > $o ) > ( B > D ) > $o )
@ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( bNF_rel_fun @ ( C > C > $o ) @ ( D > D > $o ) @ ( ( A > C ) > $o ) @ ( ( B > D ) > $o )
@ ( bNF_rel_fun @ C @ D @ ( C > $o ) @ ( D > $o ) @ B2
@ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( bNF_rel_fun @ ( A > C ) @ ( B > D ) @ $o @ $o @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 )
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( comple1396247847notone @ A @ C )
@ ( comple1396247847notone @ B @ D ) ) ) ).
% monotone_parametric
thf(fact_74_bex1__rel__rsp,axiom,
! [B: $tType,A: $tType,R: A > A > $o,Absf: A > B,Repf: B > A] :
( ( quotient3 @ A @ B @ R @ Absf @ Repf )
=> ( bNF_rel_fun @ ( A > $o ) @ ( A > $o ) @ $o @ $o
@ ( bNF_rel_fun @ A @ A @ $o @ $o @ R
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ ^ [Y2: $o,Z: $o] : Y2 = Z
@ ( bex1_rel @ A @ R )
@ ( bex1_rel @ A @ R ) ) ) ).
% bex1_rel_rsp
thf(fact_75_left__total__parametric,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
( ( bi_total @ A @ B @ A2 )
=> ( ( bi_total @ C @ D @ B2 )
=> ( bNF_rel_fun @ ( A > C > $o ) @ ( B > D > $o ) @ $o @ $o
@ ( bNF_rel_fun @ A @ B @ ( C > $o ) @ ( D > $o ) @ A2
@ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ^ [Y2: $o,Z: $o] : Y2 = Z
@ ( left_total @ A @ C )
@ ( left_total @ B @ D ) ) ) ) ).
% left_total_parametric
thf(fact_76_transfer__forall__transfer_I1_J,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( bi_total @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ $o @ $o
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ ^ [Y2: $o,Z: $o] : Y2 = Z
@ ( transfer_forall @ A )
@ ( transfer_forall @ B ) ) ) ).
% transfer_forall_transfer(1)
thf(fact_77_reflp__transfer_I1_J,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( bi_total @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > A > $o ) @ ( B > B > $o ) @ $o @ $o
@ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ^ [Y2: $o,Z: $o] : Y2 = Z
@ ( reflp @ A )
@ ( reflp @ B ) ) ) ).
% reflp_transfer(1)
thf(fact_78_fun__ord__def,axiom,
! [C: $tType,B: $tType,A: $tType] :
( ( partial_fun_ord @ A @ B @ C )
= ( ^ [Ord: A > B > $o,F: C > A,G3: C > B] :
! [X3: C] : ( Ord @ ( F @ X3 ) @ ( G3 @ X3 ) ) ) ) ).
% fun_ord_def
thf(fact_79_right__total__parametric,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
( ( bi_total @ A @ B @ A2 )
=> ( ( bi_total @ C @ D @ B2 )
=> ( bNF_rel_fun @ ( A > C > $o ) @ ( B > D > $o ) @ $o @ $o
@ ( bNF_rel_fun @ A @ B @ ( C > $o ) @ ( D > $o ) @ A2
@ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ^ [Y2: $o,Z: $o] : Y2 = Z
@ ( right_total @ A @ C )
@ ( right_total @ B @ D ) ) ) ) ).
% right_total_parametric
thf(fact_80_Domainp__transfer,axiom,
! [C: $tType,A: $tType,B: $tType,D: $tType,B2: A > B > $o,A2: C > D > $o] :
( ( bi_total @ A @ B @ B2 )
=> ( bNF_rel_fun @ ( C > A > $o ) @ ( D > B > $o ) @ ( C > $o ) @ ( D > $o )
@ ( bNF_rel_fun @ C @ D @ ( A > $o ) @ ( B > $o ) @ A2
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ B2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( bNF_rel_fun @ C @ D @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ ( domainp @ C @ A )
@ ( domainp @ D @ B ) ) ) ).
% Domainp_transfer
thf(fact_81_fun_Orel__compp,axiom,
! [A: $tType,D: $tType,C: $tType,B: $tType,R: A > B > $o,S2: B > C > $o] :
( ( bNF_rel_fun @ D @ D @ A @ C
@ ^ [Y2: D,Z: D] : Y2 = Z
@ ( relcompp @ A @ B @ C @ R @ S2 ) )
= ( relcompp @ ( D > A ) @ ( D > B ) @ ( D > C )
@ ( bNF_rel_fun @ D @ D @ A @ B
@ ^ [Y2: D,Z: D] : Y2 = Z
@ R )
@ ( bNF_rel_fun @ D @ D @ B @ C
@ ^ [Y2: D,Z: D] : Y2 = Z
@ S2 ) ) ) ).
% fun.rel_compp
thf(fact_82_pcr__Domainp__par__left__total,axiom,
! [A: $tType,B: $tType,C: $tType,B2: A > B > $o,P: A > $o,A2: C > A > $o,P2: C > $o] :
( ( ( domainp @ A @ B @ B2 )
= P )
=> ( ( left_total @ C @ A @ A2 )
=> ( ( bNF_rel_fun @ C @ A @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z
@ P2
@ P )
=> ( ( domainp @ C @ B @ ( relcompp @ C @ A @ B @ A2 @ B2 ) )
= P2 ) ) ) ) ).
% pcr_Domainp_par_left_total
thf(fact_83_fun_Orel__reflp,axiom,
! [D: $tType,A: $tType,R: A > A > $o] :
( ( reflp @ A @ R )
=> ( reflp @ ( D > A )
@ ( bNF_rel_fun @ D @ D @ A @ A
@ ^ [Y2: D,Z: D] : Y2 = Z
@ R ) ) ) ).
% fun.rel_reflp
thf(fact_84_tllist_Oright__total__rel,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,R1: A > C > $o,R2: B > D > $o] :
( ( right_total @ A @ C @ R1 )
=> ( ( right_total @ B @ D @ R2 )
=> ( right_total @ ( tLList446370796tllist @ A @ B ) @ ( tLList446370796tllist @ C @ D ) @ ( tLList1380991092t_all2 @ A @ C @ B @ D @ R1 @ R2 ) ) ) ) ).
% tllist.right_total_rel
thf(fact_85_tllist_Orel__reflp,axiom,
! [A: $tType,B: $tType,R1: A > A > $o,R2: B > B > $o] :
( ( reflp @ A @ R1 )
=> ( ( reflp @ B @ R2 )
=> ( reflp @ ( tLList446370796tllist @ A @ B ) @ ( tLList1380991092t_all2 @ A @ A @ B @ B @ R1 @ R2 ) ) ) ) ).
% tllist.rel_reflp
thf(fact_86_tllist_Orel__compp,axiom,
! [B: $tType,A: $tType,C: $tType,E: $tType,F2: $tType,D: $tType,R1: A > C > $o,S1: C > E > $o,R2: B > D > $o,S22: D > F2 > $o] :
( ( tLList1380991092t_all2 @ A @ E @ B @ F2 @ ( relcompp @ A @ C @ E @ R1 @ S1 ) @ ( relcompp @ B @ D @ F2 @ R2 @ S22 ) )
= ( relcompp @ ( tLList446370796tllist @ A @ B ) @ ( tLList446370796tllist @ C @ D ) @ ( tLList446370796tllist @ E @ F2 ) @ ( tLList1380991092t_all2 @ A @ C @ B @ D @ R1 @ R2 ) @ ( tLList1380991092t_all2 @ C @ E @ D @ F2 @ S1 @ S22 ) ) ) ).
% tllist.rel_compp
thf(fact_87_pcr__Domainp__total,axiom,
! [A: $tType,B: $tType,C: $tType,B2: A > B > $o,A2: C > A > $o,P: C > $o] :
( ( left_total @ A @ B @ B2 )
=> ( ( ( domainp @ C @ A @ A2 )
= P )
=> ( ( domainp @ C @ B @ ( relcompp @ C @ A @ B @ A2 @ B2 ) )
= P ) ) ) ).
% pcr_Domainp_total
thf(fact_88_right__total__def,axiom,
! [B: $tType,A: $tType] :
( ( right_total @ A @ B )
= ( ^ [R5: A > B > $o] :
! [Y3: B] :
? [X3: A] : ( R5 @ X3 @ Y3 ) ) ) ).
% right_total_def
thf(fact_89_right__total__eq,axiom,
! [A: $tType] :
( right_total @ A @ A
@ ^ [Y2: A,Z: A] : Y2 = Z ) ).
% right_total_eq
thf(fact_90_right__total__OO,axiom,
! [A: $tType,C: $tType,B: $tType,A2: A > B > $o,B2: B > C > $o] :
( ( right_total @ A @ B @ A2 )
=> ( ( right_total @ B @ C @ B2 )
=> ( right_total @ A @ C @ ( relcompp @ A @ B @ C @ A2 @ B2 ) ) ) ) ).
% right_total_OO
thf(fact_91_left__total__def,axiom,
! [B: $tType,A: $tType] :
( ( left_total @ A @ B )
= ( ^ [R5: A > B > $o] :
! [X3: A] :
( ^ [P3: B > $o] :
? [X5: B] : ( P3 @ X5 )
@ ( R5 @ X3 ) ) ) ) ).
% left_total_def
thf(fact_92_left__total__eq,axiom,
! [A: $tType] :
( left_total @ A @ A
@ ^ [Y2: A,Z: A] : Y2 = Z ) ).
% left_total_eq
thf(fact_93_left__total__OO,axiom,
! [A: $tType,C: $tType,B: $tType,R: A > B > $o,S2: B > C > $o] :
( ( left_total @ A @ B @ R )
=> ( ( left_total @ B @ C @ S2 )
=> ( left_total @ A @ C @ ( relcompp @ A @ B @ C @ R @ S2 ) ) ) ) ).
% left_total_OO
thf(fact_94_bex1__rel__aux2,axiom,
! [A: $tType,R: A > A > $o,X2: A > $o,Y4: A > $o] :
( ! [Xa2: A,Ya2: A] :
( ( R @ Xa2 @ Ya2 )
=> ( ( X2 @ Xa2 )
= ( Y4 @ Ya2 ) ) )
=> ( ( bex1_rel @ A @ R @ Y4 )
=> ( bex1_rel @ A @ R @ X2 ) ) ) ).
% bex1_rel_aux2
thf(fact_95_right__totalI,axiom,
! [A: $tType,B: $tType,A2: B > A > $o] :
( ! [Y: A] :
? [X6: B] : ( A2 @ X6 @ Y )
=> ( right_total @ B @ A @ A2 ) ) ).
% right_totalI
thf(fact_96_right__totalE,axiom,
! [A: $tType,B: $tType,A2: A > B > $o,Y4: B] :
( ( right_total @ A @ B @ A2 )
=> ~ ! [X: A] :
~ ( A2 @ X @ Y4 ) ) ).
% right_totalE
thf(fact_97_Domainp__refl,axiom,
! [B: $tType,A: $tType] :
( ( domainp @ A @ B )
= ( domainp @ A @ B ) ) ).
% Domainp_refl
thf(fact_98_bex1__rel__aux,axiom,
! [A: $tType,R: A > A > $o,X2: A > $o,Y4: A > $o] :
( ! [Xa2: A,Ya2: A] :
( ( R @ Xa2 @ Ya2 )
=> ( ( X2 @ Xa2 )
= ( Y4 @ Ya2 ) ) )
=> ( ( bex1_rel @ A @ R @ X2 )
=> ( bex1_rel @ A @ R @ Y4 ) ) ) ).
% bex1_rel_aux
thf(fact_99_left__totalI,axiom,
! [B: $tType,A: $tType,R: A > B > $o] :
( ! [X: A] :
? [X12: B] : ( R @ X @ X12 )
=> ( left_total @ A @ B @ R ) ) ).
% left_totalI
thf(fact_100_left__totalE,axiom,
! [A: $tType,B: $tType,R: A > B > $o] :
( ( left_total @ A @ B @ R )
=> ! [X6: A] :
? [X13: B] : ( R @ X6 @ X13 ) ) ).
% left_totalE
thf(fact_101_Domainp__iff,axiom,
! [B: $tType,A: $tType] :
( ( domainp @ A @ B )
= ( ^ [T2: A > B > $o,X3: A] :
( ^ [P3: B > $o] :
? [X5: B] : ( P3 @ X5 )
@ ( T2 @ X3 ) ) ) ) ).
% Domainp_iff
thf(fact_102_eq__comp__r,axiom,
! [A: $tType,R: A > A > $o] :
( ( relcompp @ A @ A @ A
@ ^ [Y2: A,Z: A] : Y2 = Z
@ ( relcompp @ A @ A @ A @ R
@ ^ [Y2: A,Z: A] : Y2 = Z ) )
= R ) ).
% eq_comp_r
thf(fact_103_bi__total__alt__def,axiom,
! [B: $tType,A: $tType] :
( ( bi_total @ A @ B )
= ( ^ [A6: A > B > $o] :
( ( left_total @ A @ B @ A6 )
& ( right_total @ A @ B @ A6 ) ) ) ) ).
% bi_total_alt_def
thf(fact_104_bi__totalI,axiom,
! [B: $tType,A: $tType,R: A > B > $o] :
( ( left_total @ A @ B @ R )
=> ( ( right_total @ A @ B @ R )
=> ( bi_total @ A @ B @ R ) ) ) ).
% bi_totalI
thf(fact_105_tllist_Oleft__total__rel,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,R1: A > C > $o,R2: B > D > $o] :
( ( left_total @ A @ C @ R1 )
=> ( ( left_total @ B @ D @ R2 )
=> ( left_total @ ( tLList446370796tllist @ A @ B ) @ ( tLList446370796tllist @ C @ D ) @ ( tLList1380991092t_all2 @ A @ C @ B @ D @ R1 @ R2 ) ) ) ) ).
% tllist.left_total_rel
thf(fact_106_transfer__forall__transfer_I3_J,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( right_total @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ $o @ $o @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2 @ (=>) ) @ (=>) @ ( transfer_forall @ A ) @ ( transfer_forall @ B ) ) ) ).
% transfer_forall_transfer(3)
thf(fact_107_transfer__forall__transfer_I2_J,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( right_total @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ $o @ $o
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ (=>)
@ ( transfer_forall @ A )
@ ( transfer_forall @ B ) ) ) ).
% transfer_forall_transfer(2)
thf(fact_108_reflp__transfer_I3_J,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( right_total @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > A > $o ) @ ( B > B > $o ) @ $o @ $o
@ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ (=>)
@ ( reflp @ A )
@ ( reflp @ B ) ) ) ).
% reflp_transfer(3)
thf(fact_109_reflp__transfer_I2_J,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( right_total @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > A > $o ) @ ( B > B > $o ) @ $o @ $o @ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2 @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2 @ (=>) ) ) @ (=>) @ ( reflp @ A ) @ ( reflp @ B ) ) ) ).
% reflp_transfer(2)
thf(fact_110_bi__total__OO,axiom,
! [A: $tType,C: $tType,B: $tType,A2: A > B > $o,B2: B > C > $o] :
( ( bi_total @ A @ B @ A2 )
=> ( ( bi_total @ B @ C @ B2 )
=> ( bi_total @ A @ C @ ( relcompp @ A @ B @ C @ A2 @ B2 ) ) ) ) ).
% bi_total_OO
thf(fact_111_tllist_ODomainp__rel,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,R1: A > C > $o,R2: B > D > $o] :
( ( domainp @ ( tLList446370796tllist @ A @ B ) @ ( tLList446370796tllist @ C @ D ) @ ( tLList1380991092t_all2 @ A @ C @ B @ D @ R1 @ R2 ) )
= ( tLList11265572tllist @ A @ B @ ( domainp @ A @ C @ R1 ) @ ( domainp @ B @ D @ R2 ) ) ) ).
% tllist.Domainp_rel
thf(fact_112_OOO__eq__quotient3,axiom,
! [A: $tType,B: $tType,C: $tType,R1: A > A > $o,Abs1: A > B,Rep1: B > A,Abs22: B > C,Rep22: C > B] :
( ( quotient3 @ A @ B @ R1 @ Abs1 @ Rep1 )
=> ( ( quotient3 @ B @ C
@ ^ [Y2: B,Z: B] : Y2 = Z
@ Abs22
@ Rep22 )
=> ( quotient3 @ A @ C
@ ( relcompp @ A @ A @ A @ R1
@ ( relcompp @ A @ A @ A
@ ^ [Y2: A,Z: A] : Y2 = Z
@ R1 ) )
@ ( comp @ B @ C @ A @ Abs22 @ Abs1 )
@ ( comp @ B @ A @ C @ Rep1 @ Rep22 ) ) ) ) ).
% OOO_eq_quotient3
thf(fact_113_OOO__quotient3,axiom,
! [A: $tType,B: $tType,C: $tType,R1: A > A > $o,Abs1: A > B,Rep1: B > A,R2: B > B > $o,Abs22: B > C,Rep22: C > B,R23: A > A > $o] :
( ( quotient3 @ A @ B @ R1 @ Abs1 @ Rep1 )
=> ( ( quotient3 @ B @ C @ R2 @ Abs22 @ Rep22 )
=> ( ! [X: A,Y: A] :
( ( R23 @ X @ Y )
=> ( ( R1 @ X @ X )
=> ( ( R1 @ Y @ Y )
=> ( R2 @ ( Abs1 @ X ) @ ( Abs1 @ Y ) ) ) ) )
=> ( ! [X: B,Y: B] :
( ( R2 @ X @ Y )
=> ( R23 @ ( Rep1 @ X ) @ ( Rep1 @ Y ) ) )
=> ( quotient3 @ A @ C @ ( relcompp @ A @ A @ A @ R1 @ ( relcompp @ A @ A @ A @ R23 @ R1 ) ) @ ( comp @ B @ C @ A @ Abs22 @ Abs1 ) @ ( comp @ B @ A @ C @ Rep1 @ Rep22 ) ) ) ) ) ) ).
% OOO_quotient3
thf(fact_114_Domainp__forall__transfer,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( right_total @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ $o @ $o
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ ^ [Y2: $o,Z: $o] : Y2 = Z
@ ( transfer_bforall @ A @ ( domainp @ A @ B @ A2 ) )
@ ( transfer_forall @ B ) ) ) ).
% Domainp_forall_transfer
thf(fact_115_reflp__transfer_I5_J,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( bi_total @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > A > $o ) @ ( B > B > $o ) @ $o @ $o
@ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ rev_implies
@ ( reflp @ A )
@ ( reflp @ B ) ) ) ).
% reflp_transfer(5)
thf(fact_116_reflp__transfer_I4_J,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( bi_total @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > A > $o ) @ ( B > B > $o ) @ $o @ $o @ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2 @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2 @ rev_implies ) ) @ rev_implies @ ( reflp @ A ) @ ( reflp @ B ) ) ) ).
% reflp_transfer(4)
thf(fact_117_transfer__forall__transfer_I4_J,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( bi_total @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ $o @ $o
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ rev_implies
@ ( transfer_forall @ A )
@ ( transfer_forall @ B ) ) ) ).
% transfer_forall_transfer(4)
thf(fact_118_transfer__forall__transfer_I5_J,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( bi_total @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ $o @ $o @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2 @ rev_implies ) @ rev_implies @ ( transfer_forall @ A ) @ ( transfer_forall @ B ) ) ) ).
% transfer_forall_transfer(5)
thf(fact_119_reflpD,axiom,
! [A: $tType,R7: A > A > $o,X2: A] :
( ( reflp @ A @ R7 )
=> ( R7 @ X2 @ X2 ) ) ).
% reflpD
thf(fact_120_rev__implies__def,axiom,
( rev_implies
= ( ^ [X3: $o,Y3: $o] :
( Y3
=> X3 ) ) ) ).
% rev_implies_def
thf(fact_121_relcompp_OrelcompI,axiom,
! [A: $tType,B: $tType,C: $tType,R7: A > B > $o,A3: A,B3: B,S4: B > C > $o,C3: C] :
( ( R7 @ A3 @ B3 )
=> ( ( S4 @ B3 @ C3 )
=> ( relcompp @ A @ B @ C @ R7 @ S4 @ A3 @ C3 ) ) ) ).
% relcompp.relcompI
thf(fact_122_relcompp_Oinducts,axiom,
! [B: $tType,A: $tType,C: $tType,R7: A > B > $o,S4: B > C > $o,X1: A,X22: C,P: A > C > $o] :
( ( relcompp @ A @ B @ C @ R7 @ S4 @ X1 @ X22 )
=> ( ! [A4: A,B4: B,C4: C] :
( ( R7 @ A4 @ B4 )
=> ( ( S4 @ B4 @ C4 )
=> ( P @ A4 @ C4 ) ) )
=> ( P @ X1 @ X22 ) ) ) ).
% relcompp.inducts
thf(fact_123_relcompp__assoc,axiom,
! [A: $tType,D: $tType,B: $tType,C: $tType,R7: A > D > $o,S4: D > C > $o,T3: C > B > $o] :
( ( relcompp @ A @ C @ B @ ( relcompp @ A @ D @ C @ R7 @ S4 ) @ T3 )
= ( relcompp @ A @ D @ B @ R7 @ ( relcompp @ D @ C @ B @ S4 @ T3 ) ) ) ).
% relcompp_assoc
thf(fact_124_relcompp__apply,axiom,
! [C: $tType,B: $tType,A: $tType] :
( ( relcompp @ A @ B @ C )
= ( ^ [R5: A > B > $o,S5: B > C > $o,A5: A,C5: C] :
? [B5: B] :
( ( R5 @ A5 @ B5 )
& ( S5 @ B5 @ C5 ) ) ) ) ).
% relcompp_apply
thf(fact_125_relcompp_Osimps,axiom,
! [C: $tType,B: $tType,A: $tType] :
( ( relcompp @ A @ B @ C )
= ( ^ [R6: A > B > $o,S: B > C > $o,A1: A,A22: C] :
? [A5: A,B5: B,C5: C] :
( ( A1 = A5 )
& ( A22 = C5 )
& ( R6 @ A5 @ B5 )
& ( S @ B5 @ C5 ) ) ) ) ).
% relcompp.simps
thf(fact_126_relcompp_Ocases,axiom,
! [A: $tType,B: $tType,C: $tType,R7: A > B > $o,S4: B > C > $o,A12: A,A23: C] :
( ( relcompp @ A @ B @ C @ R7 @ S4 @ A12 @ A23 )
=> ~ ! [B4: B] :
( ( R7 @ A12 @ B4 )
=> ~ ( S4 @ B4 @ A23 ) ) ) ).
% relcompp.cases
thf(fact_127_relcomppE,axiom,
! [A: $tType,B: $tType,C: $tType,R7: A > B > $o,S4: B > C > $o,A3: A,C3: C] :
( ( relcompp @ A @ B @ C @ R7 @ S4 @ A3 @ C3 )
=> ~ ! [B4: B] :
( ( R7 @ A3 @ B4 )
=> ~ ( S4 @ B4 @ C3 ) ) ) ).
% relcomppE
thf(fact_128_eq__OO,axiom,
! [B: $tType,A: $tType,R: A > B > $o] :
( ( relcompp @ A @ A @ B
@ ^ [Y2: A,Z: A] : Y2 = Z
@ R )
= R ) ).
% eq_OO
thf(fact_129_OO__eq,axiom,
! [B: $tType,A: $tType,R: A > B > $o] :
( ( relcompp @ A @ B @ B @ R
@ ^ [Y2: B,Z: B] : Y2 = Z )
= R ) ).
% OO_eq
thf(fact_130_Domainp_Oinducts,axiom,
! [B: $tType,A: $tType,R7: A > B > $o,X2: A,P: A > $o] :
( ( domainp @ A @ B @ R7 @ X2 )
=> ( ! [A4: A,B4: B] :
( ( R7 @ A4 @ B4 )
=> ( P @ A4 ) )
=> ( P @ X2 ) ) ) ).
% Domainp.inducts
thf(fact_131_Domainp_ODomainI,axiom,
! [B: $tType,A: $tType,R7: A > B > $o,A3: A,B3: B] :
( ( R7 @ A3 @ B3 )
=> ( domainp @ A @ B @ R7 @ A3 ) ) ).
% Domainp.DomainI
thf(fact_132_Domainp_Osimps,axiom,
! [B: $tType,A: $tType] :
( ( domainp @ A @ B )
= ( ^ [R6: A > B > $o,A5: A] :
? [B5: A,C5: B] :
( ( A5 = B5 )
& ( R6 @ B5 @ C5 ) ) ) ) ).
% Domainp.simps
thf(fact_133_Domainp_Ocases,axiom,
! [A: $tType,B: $tType,R7: A > B > $o,A3: A] :
( ( domainp @ A @ B @ R7 @ A3 )
=> ~ ! [B4: B] :
~ ( R7 @ A3 @ B4 ) ) ).
% Domainp.cases
thf(fact_134_DomainpE,axiom,
! [A: $tType,B: $tType,R7: A > B > $o,A3: A] :
( ( domainp @ A @ B @ R7 @ A3 )
=> ~ ! [B4: B] :
~ ( R7 @ A3 @ B4 ) ) ).
% DomainpE
thf(fact_135_reflp__mono,axiom,
! [A: $tType,R: A > A > $o,Q: A > A > $o] :
( ( reflp @ A @ R )
=> ( ! [X: A,Y: A] :
( ( R @ X @ Y )
=> ( Q @ X @ Y ) )
=> ( reflp @ A @ Q ) ) ) ).
% reflp_mono
thf(fact_136_reflp__def,axiom,
! [A: $tType] :
( ( reflp @ A )
= ( ^ [R6: A > A > $o] :
! [X3: A] : ( R6 @ X3 @ X3 ) ) ) ).
% reflp_def
thf(fact_137_reflpI,axiom,
! [A: $tType,R7: A > A > $o] :
( ! [X: A] : ( R7 @ X @ X )
=> ( reflp @ A @ R7 ) ) ).
% reflpI
thf(fact_138_reflpE,axiom,
! [A: $tType,R7: A > A > $o,X2: A] :
( ( reflp @ A @ R7 )
=> ( R7 @ X2 @ X2 ) ) ).
% reflpE
thf(fact_139_DEADID_Orel__reflp,axiom,
! [A: $tType] :
( reflp @ A
@ ^ [Y2: A,Z: A] : Y2 = Z ) ).
% DEADID.rel_reflp
thf(fact_140_nchotomy__relcomppE,axiom,
! [C: $tType,B: $tType,A: $tType,D: $tType,F3: B > A,R7: C > A > $o,S4: A > D > $o,A3: C,C3: D] :
( ! [Y: A] :
? [X6: B] :
( Y
= ( F3 @ X6 ) )
=> ( ( relcompp @ C @ A @ D @ R7 @ S4 @ A3 @ C3 )
=> ~ ! [B4: B] :
( ( R7 @ A3 @ ( F3 @ B4 ) )
=> ~ ( S4 @ ( F3 @ B4 ) @ C3 ) ) ) ) ).
% nchotomy_relcomppE
thf(fact_141_pos__fun__distr,axiom,
! [E: $tType,C: $tType,A: $tType,B: $tType,D: $tType,F2: $tType,R: A > E > $o,S2: B > F2 > $o,R8: E > C > $o,S6: F2 > D > $o] : ( ord_less_eq @ ( ( A > B ) > ( C > D ) > $o ) @ ( relcompp @ ( A > B ) @ ( E > F2 ) @ ( C > D ) @ ( bNF_rel_fun @ A @ E @ B @ F2 @ R @ S2 ) @ ( bNF_rel_fun @ E @ C @ F2 @ D @ R8 @ S6 ) ) @ ( bNF_rel_fun @ A @ C @ B @ D @ ( relcompp @ A @ E @ C @ R @ R8 ) @ ( relcompp @ B @ F2 @ D @ S2 @ S6 ) ) ) ).
% pos_fun_distr
thf(fact_142_monotone__def,axiom,
! [B: $tType,A: $tType] :
( ( comple1396247847notone @ A @ B )
= ( ^ [Orda: A > A > $o,Ordb: B > B > $o,F: A > B] :
! [X3: A,Y3: A] :
( ( Orda @ X3 @ Y3 )
=> ( Ordb @ ( F @ X3 ) @ ( F @ Y3 ) ) ) ) ) ).
% monotone_def
thf(fact_143_relcompp__mono,axiom,
! [A: $tType,C: $tType,B: $tType,R9: A > B > $o,R7: A > B > $o,S7: B > C > $o,S4: B > C > $o] :
( ( ord_less_eq @ ( A > B > $o ) @ R9 @ R7 )
=> ( ( ord_less_eq @ ( B > C > $o ) @ S7 @ S4 )
=> ( ord_less_eq @ ( A > C > $o ) @ ( relcompp @ A @ B @ C @ R9 @ S7 ) @ ( relcompp @ A @ B @ C @ R7 @ S4 ) ) ) ) ).
% relcompp_mono
thf(fact_144_leq__OOI,axiom,
! [A: $tType,R: A > A > $o] :
( ( R
= ( ^ [Y2: A,Z: A] : Y2 = Z ) )
=> ( ord_less_eq @ ( A > A > $o ) @ R @ ( relcompp @ A @ A @ A @ R @ R ) ) ) ).
% leq_OOI
thf(fact_145_reflp__eq,axiom,
! [A: $tType] :
( ( reflp @ A )
= ( ord_less_eq @ ( A > A > $o )
@ ^ [Y2: A,Z: A] : Y2 = Z ) ) ).
% reflp_eq
thf(fact_146_reflp__ge__eq,axiom,
! [A: $tType,R: A > A > $o] :
( ( reflp @ A @ R )
=> ( ord_less_eq @ ( A > A > $o )
@ ^ [Y2: A,Z: A] : Y2 = Z
@ R ) ) ).
% reflp_ge_eq
thf(fact_147_tllist_Orel__mono,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,R1: A > C > $o,R1a: A > C > $o,R2: B > D > $o,R2a: B > D > $o] :
( ( ord_less_eq @ ( A > C > $o ) @ R1 @ R1a )
=> ( ( ord_less_eq @ ( B > D > $o ) @ R2 @ R2a )
=> ( ord_less_eq @ ( ( tLList446370796tllist @ A @ B ) > ( tLList446370796tllist @ C @ D ) > $o ) @ ( tLList1380991092t_all2 @ A @ C @ B @ D @ R1 @ R2 ) @ ( tLList1380991092t_all2 @ A @ C @ B @ D @ R1a @ R2a ) ) ) ) ).
% tllist.rel_mono
thf(fact_148_predicate2D__conj,axiom,
! [A: $tType,B: $tType,P: A > B > $o,Q: A > B > $o,R: $o,X2: A,Y4: B] :
( ( ( ord_less_eq @ ( A > B > $o ) @ P @ Q )
& R )
=> ( R
& ( ( P @ X2 @ Y4 )
=> ( Q @ X2 @ Y4 ) ) ) ) ).
% predicate2D_conj
thf(fact_149_refl__ge__eq,axiom,
! [A: $tType,R: A > A > $o] :
( ! [X: A] : ( R @ X @ X )
=> ( ord_less_eq @ ( A > A > $o )
@ ^ [Y2: A,Z: A] : Y2 = Z
@ R ) ) ).
% refl_ge_eq
thf(fact_150_ge__eq__refl,axiom,
! [A: $tType,R: A > A > $o,X2: A] :
( ( ord_less_eq @ ( A > A > $o )
@ ^ [Y2: A,Z: A] : Y2 = Z
@ R )
=> ( R @ X2 @ X2 ) ) ).
% ge_eq_refl
thf(fact_151_fun_Orel__mono,axiom,
! [D: $tType,B: $tType,A: $tType,R: A > B > $o,Ra: A > B > $o] :
( ( ord_less_eq @ ( A > B > $o ) @ R @ Ra )
=> ( ord_less_eq @ ( ( D > A ) > ( D > B ) > $o )
@ ( bNF_rel_fun @ D @ D @ A @ B
@ ^ [Y2: D,Z: D] : Y2 = Z
@ R )
@ ( bNF_rel_fun @ D @ D @ A @ B
@ ^ [Y2: D,Z: D] : Y2 = Z
@ Ra ) ) ) ).
% fun.rel_mono
thf(fact_152_fun__mono,axiom,
! [A: $tType,B: $tType,D: $tType,C: $tType,C2: A > B > $o,A2: A > B > $o,B2: C > D > $o,D2: C > D > $o] :
( ( ord_less_eq @ ( A > B > $o ) @ C2 @ A2 )
=> ( ( ord_less_eq @ ( C > D > $o ) @ B2 @ D2 )
=> ( ord_less_eq @ ( ( A > C ) > ( B > D ) > $o ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) @ ( bNF_rel_fun @ A @ B @ C @ D @ C2 @ D2 ) ) ) ) ).
% fun_mono
thf(fact_153_type__copy__map__cong0,axiom,
! [B: $tType,D: $tType,E: $tType,A: $tType,C: $tType,M: B > A,G: C > B,X2: C,N: D > A,H3: C > D,F3: A > E] :
( ( ( M @ ( G @ X2 ) )
= ( N @ ( H3 @ X2 ) ) )
=> ( ( comp @ B @ E @ C @ ( comp @ A @ E @ B @ F3 @ M ) @ G @ X2 )
= ( comp @ D @ E @ C @ ( comp @ A @ E @ D @ F3 @ N ) @ H3 @ X2 ) ) ) ).
% type_copy_map_cong0
thf(fact_154_monotoneD,axiom,
! [B: $tType,A: $tType,Orda2: A > A > $o,Ordb2: B > B > $o,F3: A > B,X2: A,Y4: A] :
( ( comple1396247847notone @ A @ B @ Orda2 @ Ordb2 @ F3 )
=> ( ( Orda2 @ X2 @ Y4 )
=> ( Ordb2 @ ( F3 @ X2 ) @ ( F3 @ Y4 ) ) ) ) ).
% monotoneD
thf(fact_155_monotoneI,axiom,
! [B: $tType,A: $tType,Orda2: A > A > $o,Ordb2: B > B > $o,F3: A > B] :
( ! [X: A,Y: A] :
( ( Orda2 @ X @ Y )
=> ( Ordb2 @ ( F3 @ X ) @ ( F3 @ Y ) ) )
=> ( comple1396247847notone @ A @ B @ Orda2 @ Ordb2 @ F3 ) ) ).
% monotoneI
thf(fact_156_predicate2I,axiom,
! [B: $tType,A: $tType,P: A > B > $o,Q: A > B > $o] :
( ! [X: A,Y: B] :
( ( P @ X @ Y )
=> ( Q @ X @ Y ) )
=> ( ord_less_eq @ ( A > B > $o ) @ P @ Q ) ) ).
% predicate2I
thf(fact_157_order__refl,axiom,
! [A: $tType] :
( ( preorder @ A @ ( type2 @ A ) )
=> ! [X2: A] : ( ord_less_eq @ A @ X2 @ X2 ) ) ).
% order_refl
thf(fact_158_le__funD,axiom,
! [B: $tType,A: $tType] :
( ( ord @ B @ ( type2 @ B ) )
=> ! [F3: A > B,G: A > B,X2: A] :
( ( ord_less_eq @ ( A > B ) @ F3 @ G )
=> ( ord_less_eq @ B @ ( F3 @ X2 ) @ ( G @ X2 ) ) ) ) ).
% le_funD
thf(fact_159_le__funE,axiom,
! [B: $tType,A: $tType] :
( ( ord @ B @ ( type2 @ B ) )
=> ! [F3: A > B,G: A > B,X2: A] :
( ( ord_less_eq @ ( A > B ) @ F3 @ G )
=> ( ord_less_eq @ B @ ( F3 @ X2 ) @ ( G @ X2 ) ) ) ) ).
% le_funE
thf(fact_160_dual__order_Oantisym,axiom,
! [A: $tType] :
( ( order @ A @ ( type2 @ A ) )
=> ! [B3: A,A3: A] :
( ( ord_less_eq @ A @ B3 @ A3 )
=> ( ( ord_less_eq @ A @ A3 @ B3 )
=> ( A3 = B3 ) ) ) ) ).
% dual_order.antisym
thf(fact_161_dual__order_Otrans,axiom,
! [A: $tType] :
( ( order @ A @ ( type2 @ A ) )
=> ! [B3: A,A3: A,C3: A] :
( ( ord_less_eq @ A @ B3 @ A3 )
=> ( ( ord_less_eq @ A @ C3 @ B3 )
=> ( ord_less_eq @ A @ C3 @ A3 ) ) ) ) ).
% dual_order.trans
thf(fact_162_linorder__wlog,axiom,
! [A: $tType] :
( ( linorder @ A @ ( type2 @ A ) )
=> ! [P: A > A > $o,A3: A,B3: A] :
( ! [A4: A,B4: A] :
( ( ord_less_eq @ A @ A4 @ B4 )
=> ( P @ A4 @ B4 ) )
=> ( ! [A4: A,B4: A] :
( ( P @ B4 @ A4 )
=> ( P @ A4 @ B4 ) )
=> ( P @ A3 @ B3 ) ) ) ) ).
% linorder_wlog
thf(fact_163_dual__order_Orefl,axiom,
! [A: $tType] :
( ( order @ A @ ( type2 @ A ) )
=> ! [A3: A] : ( ord_less_eq @ A @ A3 @ A3 ) ) ).
% dual_order.refl
thf(fact_164_order__trans,axiom,
! [A: $tType] :
( ( preorder @ A @ ( type2 @ A ) )
=> ! [X2: A,Y4: A,Z2: A] :
( ( ord_less_eq @ A @ X2 @ Y4 )
=> ( ( ord_less_eq @ A @ Y4 @ Z2 )
=> ( ord_less_eq @ A @ X2 @ Z2 ) ) ) ) ).
% order_trans
thf(fact_165_order__class_Oorder_Oantisym,axiom,
! [A: $tType] :
( ( order @ A @ ( type2 @ A ) )
=> ! [A3: A,B3: A] :
( ( ord_less_eq @ A @ A3 @ B3 )
=> ( ( ord_less_eq @ A @ B3 @ A3 )
=> ( A3 = B3 ) ) ) ) ).
% order_class.order.antisym
thf(fact_166_ord__le__eq__trans,axiom,
! [A: $tType] :
( ( ord @ A @ ( type2 @ A ) )
=> ! [A3: A,B3: A,C3: A] :
( ( ord_less_eq @ A @ A3 @ B3 )
=> ( ( B3 = C3 )
=> ( ord_less_eq @ A @ A3 @ C3 ) ) ) ) ).
% ord_le_eq_trans
thf(fact_167_ord__eq__le__trans,axiom,
! [A: $tType] :
( ( ord @ A @ ( type2 @ A ) )
=> ! [A3: A,B3: A,C3: A] :
( ( A3 = B3 )
=> ( ( ord_less_eq @ A @ B3 @ C3 )
=> ( ord_less_eq @ A @ A3 @ C3 ) ) ) ) ).
% ord_eq_le_trans
thf(fact_168_antisym__conv,axiom,
! [A: $tType] :
( ( order @ A @ ( type2 @ A ) )
=> ! [Y4: A,X2: A] :
( ( ord_less_eq @ A @ Y4 @ X2 )
=> ( ( ord_less_eq @ A @ X2 @ Y4 )
= ( X2 = Y4 ) ) ) ) ).
% antisym_conv
thf(fact_169_le__cases3,axiom,
! [A: $tType] :
( ( linorder @ A @ ( type2 @ A ) )
=> ! [X2: A,Y4: A,Z2: A] :
( ( ( ord_less_eq @ A @ X2 @ Y4 )
=> ~ ( ord_less_eq @ A @ Y4 @ Z2 ) )
=> ( ( ( ord_less_eq @ A @ Y4 @ X2 )
=> ~ ( ord_less_eq @ A @ X2 @ Z2 ) )
=> ( ( ( ord_less_eq @ A @ X2 @ Z2 )
=> ~ ( ord_less_eq @ A @ Z2 @ Y4 ) )
=> ( ( ( ord_less_eq @ A @ Z2 @ Y4 )
=> ~ ( ord_less_eq @ A @ Y4 @ X2 ) )
=> ( ( ( ord_less_eq @ A @ Y4 @ Z2 )
=> ~ ( ord_less_eq @ A @ Z2 @ X2 ) )
=> ~ ( ( ord_less_eq @ A @ Z2 @ X2 )
=> ~ ( ord_less_eq @ A @ X2 @ Y4 ) ) ) ) ) ) ) ) ).
% le_cases3
thf(fact_170_order_Otrans,axiom,
! [A: $tType] :
( ( order @ A @ ( type2 @ A ) )
=> ! [A3: A,B3: A,C3: A] :
( ( ord_less_eq @ A @ A3 @ B3 )
=> ( ( ord_less_eq @ A @ B3 @ C3 )
=> ( ord_less_eq @ A @ A3 @ C3 ) ) ) ) ).
% order.trans
thf(fact_171_le__cases,axiom,
! [A: $tType] :
( ( linorder @ A @ ( type2 @ A ) )
=> ! [X2: A,Y4: A] :
( ~ ( ord_less_eq @ A @ X2 @ Y4 )
=> ( ord_less_eq @ A @ Y4 @ X2 ) ) ) ).
% le_cases
thf(fact_172_eq__refl,axiom,
! [A: $tType] :
( ( preorder @ A @ ( type2 @ A ) )
=> ! [X2: A,Y4: A] :
( ( X2 = Y4 )
=> ( ord_less_eq @ A @ X2 @ Y4 ) ) ) ).
% eq_refl
thf(fact_173_linear,axiom,
! [A: $tType] :
( ( linorder @ A @ ( type2 @ A ) )
=> ! [X2: A,Y4: A] :
( ( ord_less_eq @ A @ X2 @ Y4 )
| ( ord_less_eq @ A @ Y4 @ X2 ) ) ) ).
% linear
thf(fact_174_antisym,axiom,
! [A: $tType] :
( ( order @ A @ ( type2 @ A ) )
=> ! [X2: A,Y4: A] :
( ( ord_less_eq @ A @ X2 @ Y4 )
=> ( ( ord_less_eq @ A @ Y4 @ X2 )
=> ( X2 = Y4 ) ) ) ) ).
% antisym
thf(fact_175_eq__iff,axiom,
! [A: $tType] :
( ( order @ A @ ( type2 @ A ) )
=> ( ( ^ [Y2: A,Z: A] : Y2 = Z )
= ( ^ [X3: A,Y3: A] :
( ( ord_less_eq @ A @ X3 @ Y3 )
& ( ord_less_eq @ A @ Y3 @ X3 ) ) ) ) ) ).
% eq_iff
thf(fact_176_ord__le__eq__subst,axiom,
! [A: $tType,B: $tType] :
( ( ( ord @ B @ ( type2 @ B ) )
& ( ord @ A @ ( type2 @ A ) ) )
=> ! [A3: A,B3: A,F3: A > B,C3: B] :
( ( ord_less_eq @ A @ A3 @ B3 )
=> ( ( ( F3 @ B3 )
= C3 )
=> ( ! [X: A,Y: A] :
( ( ord_less_eq @ A @ X @ Y )
=> ( ord_less_eq @ B @ ( F3 @ X ) @ ( F3 @ Y ) ) )
=> ( ord_less_eq @ B @ ( F3 @ A3 ) @ C3 ) ) ) ) ) ).
% ord_le_eq_subst
thf(fact_177_ord__eq__le__subst,axiom,
! [A: $tType,B: $tType] :
( ( ( ord @ B @ ( type2 @ B ) )
& ( ord @ A @ ( type2 @ A ) ) )
=> ! [A3: A,F3: B > A,B3: B,C3: B] :
( ( A3
= ( F3 @ B3 ) )
=> ( ( ord_less_eq @ B @ B3 @ C3 )
=> ( ! [X: B,Y: B] :
( ( ord_less_eq @ B @ X @ Y )
=> ( ord_less_eq @ A @ ( F3 @ X ) @ ( F3 @ Y ) ) )
=> ( ord_less_eq @ A @ A3 @ ( F3 @ C3 ) ) ) ) ) ) ).
% ord_eq_le_subst
thf(fact_178_order__subst2,axiom,
! [A: $tType,C: $tType] :
( ( ( order @ C @ ( type2 @ C ) )
& ( order @ A @ ( type2 @ A ) ) )
=> ! [A3: A,B3: A,F3: A > C,C3: C] :
( ( ord_less_eq @ A @ A3 @ B3 )
=> ( ( ord_less_eq @ C @ ( F3 @ B3 ) @ C3 )
=> ( ! [X: A,Y: A] :
( ( ord_less_eq @ A @ X @ Y )
=> ( ord_less_eq @ C @ ( F3 @ X ) @ ( F3 @ Y ) ) )
=> ( ord_less_eq @ C @ ( F3 @ A3 ) @ C3 ) ) ) ) ) ).
% order_subst2
thf(fact_179_order__subst1,axiom,
! [A: $tType,B: $tType] :
( ( ( order @ B @ ( type2 @ B ) )
& ( order @ A @ ( type2 @ A ) ) )
=> ! [A3: A,F3: B > A,B3: B,C3: B] :
( ( ord_less_eq @ A @ A3 @ ( F3 @ B3 ) )
=> ( ( ord_less_eq @ B @ B3 @ C3 )
=> ( ! [X: B,Y: B] :
( ( ord_less_eq @ B @ X @ Y )
=> ( ord_less_eq @ A @ ( F3 @ X ) @ ( F3 @ Y ) ) )
=> ( ord_less_eq @ A @ A3 @ ( F3 @ C3 ) ) ) ) ) ) ).
% order_subst1
thf(fact_180_rev__predicate2D,axiom,
! [A: $tType,B: $tType,P: A > B > $o,X2: A,Y4: B,Q: A > B > $o] :
( ( P @ X2 @ Y4 )
=> ( ( ord_less_eq @ ( A > B > $o ) @ P @ Q )
=> ( Q @ X2 @ Y4 ) ) ) ).
% rev_predicate2D
thf(fact_181_predicate2D,axiom,
! [A: $tType,B: $tType,P: A > B > $o,Q: A > B > $o,X2: A,Y4: B] :
( ( ord_less_eq @ ( A > B > $o ) @ P @ Q )
=> ( ( P @ X2 @ Y4 )
=> ( Q @ X2 @ Y4 ) ) ) ).
% predicate2D
thf(fact_182_le__fun__def,axiom,
! [B: $tType,A: $tType] :
( ( ord @ B @ ( type2 @ B ) )
=> ( ( ord_less_eq @ ( A > B ) )
= ( ^ [F: A > B,G3: A > B] :
! [X3: A] : ( ord_less_eq @ B @ ( F @ X3 ) @ ( G3 @ X3 ) ) ) ) ) ).
% le_fun_def
thf(fact_183_le__funI,axiom,
! [B: $tType,A: $tType] :
( ( ord @ B @ ( type2 @ B ) )
=> ! [F3: A > B,G: A > B] :
( ! [X: A] : ( ord_less_eq @ B @ ( F3 @ X ) @ ( G @ X ) )
=> ( ord_less_eq @ ( A > B ) @ F3 @ G ) ) ) ).
% le_funI
thf(fact_184_lfp_Omonotone__if__bot,axiom,
! [B: $tType,A: $tType] :
( ( comple187826305attice @ A @ ( type2 @ A ) )
=> ! [Bound: A,G: A > B,Bot: B,F3: A > B,Ord2: B > B > $o] :
( ! [X: A] :
( ( ( ord_less_eq @ A @ X @ Bound )
=> ( ( G @ X )
= Bot ) )
& ( ~ ( ord_less_eq @ A @ X @ Bound )
=> ( ( G @ X )
= ( F3 @ X ) ) ) )
=> ( ! [X: A,Y: A] :
( ( ord_less_eq @ A @ X @ Y )
=> ( ~ ( ord_less_eq @ A @ X @ Bound )
=> ( Ord2 @ ( F3 @ X ) @ ( F3 @ Y ) ) ) )
=> ( ! [X: A] :
( ~ ( ord_less_eq @ A @ X @ Bound )
=> ( Ord2 @ Bot @ ( F3 @ X ) ) )
=> ( ( Ord2 @ Bot @ Bot )
=> ( comple1396247847notone @ A @ B @ ( ord_less_eq @ A ) @ Ord2 @ G ) ) ) ) ) ) ).
% lfp.monotone_if_bot
thf(fact_185_mono__transfer,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType] :
( ( ( order @ B @ ( type2 @ B ) )
& ( order @ D @ ( type2 @ D ) )
& ( order @ C @ ( type2 @ C ) )
& ( order @ A @ ( type2 @ A ) ) )
=> ! [A2: A > B > $o,B2: C > D > $o] :
( ( bi_total @ A @ B @ A2 )
=> ( ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ ( ord_less_eq @ A )
@ ( ord_less_eq @ B ) )
=> ( ( bNF_rel_fun @ C @ D @ ( C > $o ) @ ( D > $o ) @ B2
@ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ ( ord_less_eq @ C )
@ ( ord_less_eq @ D ) )
=> ( bNF_rel_fun @ ( A > C ) @ ( B > D ) @ $o @ $o @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 )
@ ^ [Y2: $o,Z: $o] : Y2 = Z
@ ( order_mono @ A @ C )
@ ( order_mono @ B @ D ) ) ) ) ) ) ).
% mono_transfer
thf(fact_186_neg__fun__distr2,axiom,
! [F2: $tType,E: $tType,A: $tType,B: $tType,D: $tType,C: $tType,R8: A > B > $o,S6: C > D > $o,R: E > A > $o,S2: F2 > C > $o] :
( ( right_unique @ A @ B @ R8 )
=> ( ( left_total @ A @ B @ R8 )
=> ( ( left_unique @ C @ D @ S6 )
=> ( ( right_total @ C @ D @ S6 )
=> ( ord_less_eq @ ( ( E > F2 ) > ( B > D ) > $o ) @ ( bNF_rel_fun @ E @ B @ F2 @ D @ ( relcompp @ E @ A @ B @ R @ R8 ) @ ( relcompp @ F2 @ C @ D @ S2 @ S6 ) ) @ ( relcompp @ ( E > F2 ) @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ E @ A @ F2 @ C @ R @ S2 ) @ ( bNF_rel_fun @ A @ B @ C @ D @ R8 @ S6 ) ) ) ) ) ) ) ).
% neg_fun_distr2
thf(fact_187_monoD,axiom,
! [B: $tType,A: $tType] :
( ( ( order @ A @ ( type2 @ A ) )
& ( order @ B @ ( type2 @ B ) ) )
=> ! [F3: A > B,X2: A,Y4: A] :
( ( order_mono @ A @ B @ F3 )
=> ( ( ord_less_eq @ A @ X2 @ Y4 )
=> ( ord_less_eq @ B @ ( F3 @ X2 ) @ ( F3 @ Y4 ) ) ) ) ) ).
% monoD
thf(fact_188_monoE,axiom,
! [B: $tType,A: $tType] :
( ( ( order @ A @ ( type2 @ A ) )
& ( order @ B @ ( type2 @ B ) ) )
=> ! [F3: A > B,X2: A,Y4: A] :
( ( order_mono @ A @ B @ F3 )
=> ( ( ord_less_eq @ A @ X2 @ Y4 )
=> ( ord_less_eq @ B @ ( F3 @ X2 ) @ ( F3 @ Y4 ) ) ) ) ) ).
% monoE
thf(fact_189_monoI,axiom,
! [B: $tType,A: $tType] :
( ( ( order @ A @ ( type2 @ A ) )
& ( order @ B @ ( type2 @ B ) ) )
=> ! [F3: A > B] :
( ! [X: A,Y: A] :
( ( ord_less_eq @ A @ X @ Y )
=> ( ord_less_eq @ B @ ( F3 @ X ) @ ( F3 @ Y ) ) )
=> ( order_mono @ A @ B @ F3 ) ) ) ).
% monoI
thf(fact_190_mono__def,axiom,
! [B: $tType,A: $tType] :
( ( ( order @ A @ ( type2 @ A ) )
& ( order @ B @ ( type2 @ B ) ) )
=> ( ( order_mono @ A @ B )
= ( ^ [F: A > B] :
! [X3: A,Y3: A] :
( ( ord_less_eq @ A @ X3 @ Y3 )
=> ( ord_less_eq @ B @ ( F @ X3 ) @ ( F @ Y3 ) ) ) ) ) ) ).
% mono_def
thf(fact_191_right__unique__fun,axiom,
! [A: $tType,B: $tType,D: $tType,C: $tType,A2: A > B > $o,B2: C > D > $o] :
( ( right_total @ A @ B @ A2 )
=> ( ( right_unique @ C @ D @ B2 )
=> ( right_unique @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) ) ) ) ).
% right_unique_fun
thf(fact_192_left__unique__fun,axiom,
! [A: $tType,B: $tType,D: $tType,C: $tType,A2: A > B > $o,B2: C > D > $o] :
( ( left_total @ A @ B @ A2 )
=> ( ( left_unique @ C @ D @ B2 )
=> ( left_unique @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) ) ) ) ).
% left_unique_fun
thf(fact_193_right__unique__def,axiom,
! [B: $tType,A: $tType] :
( ( right_unique @ A @ B )
= ( ^ [R5: A > B > $o] :
! [X3: A,Y3: B,Z3: B] :
( ( R5 @ X3 @ Y3 )
=> ( ( R5 @ X3 @ Z3 )
=> ( Y3 = Z3 ) ) ) ) ) ).
% right_unique_def
thf(fact_194_right__unique__eq,axiom,
! [A: $tType] :
( right_unique @ A @ A
@ ^ [Y2: A,Z: A] : Y2 = Z ) ).
% right_unique_eq
thf(fact_195_left__unique__def,axiom,
! [B: $tType,A: $tType] :
( ( left_unique @ A @ B )
= ( ^ [R5: A > B > $o] :
! [X3: A,Y3: A,Z3: B] :
( ( R5 @ X3 @ Z3 )
=> ( ( R5 @ Y3 @ Z3 )
=> ( X3 = Y3 ) ) ) ) ) ).
% left_unique_def
thf(fact_196_left__unique__eq,axiom,
! [A: $tType] :
( left_unique @ A @ A
@ ^ [Y2: A,Z: A] : Y2 = Z ) ).
% left_unique_eq
thf(fact_197_right__uniqueI,axiom,
! [B: $tType,A: $tType,A2: A > B > $o] :
( ! [X: A,Y: B,Z4: B] :
( ( A2 @ X @ Y )
=> ( ( A2 @ X @ Z4 )
=> ( Y = Z4 ) ) )
=> ( right_unique @ A @ B @ A2 ) ) ).
% right_uniqueI
thf(fact_198_right__uniqueD,axiom,
! [A: $tType,B: $tType,A2: A > B > $o,X2: A,Y4: B,Z2: B] :
( ( right_unique @ A @ B @ A2 )
=> ( ( A2 @ X2 @ Y4 )
=> ( ( A2 @ X2 @ Z2 )
=> ( Y4 = Z2 ) ) ) ) ).
% right_uniqueD
thf(fact_199_left__uniqueI,axiom,
! [B: $tType,A: $tType,A2: A > B > $o] :
( ! [X: A,Y: A,Z4: B] :
( ( A2 @ X @ Z4 )
=> ( ( A2 @ Y @ Z4 )
=> ( X = Y ) ) )
=> ( left_unique @ A @ B @ A2 ) ) ).
% left_uniqueI
thf(fact_200_left__uniqueD,axiom,
! [B: $tType,A: $tType,A2: A > B > $o,X2: A,Z2: B,Y4: A] :
( ( left_unique @ A @ B @ A2 )
=> ( ( A2 @ X2 @ Z2 )
=> ( ( A2 @ Y4 @ Z2 )
=> ( X2 = Y4 ) ) ) ) ).
% left_uniqueD
thf(fact_201_tllist_Oleft__unique__rel,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,R1: A > C > $o,R2: B > D > $o] :
( ( left_unique @ A @ C @ R1 )
=> ( ( left_unique @ B @ D @ R2 )
=> ( left_unique @ ( tLList446370796tllist @ A @ B ) @ ( tLList446370796tllist @ C @ D ) @ ( tLList1380991092t_all2 @ A @ C @ B @ D @ R1 @ R2 ) ) ) ) ).
% tllist.left_unique_rel
thf(fact_202_tllist_Oright__unique__rel,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,R1: A > C > $o,R2: B > D > $o] :
( ( right_unique @ A @ C @ R1 )
=> ( ( right_unique @ B @ D @ R2 )
=> ( right_unique @ ( tLList446370796tllist @ A @ B ) @ ( tLList446370796tllist @ C @ D ) @ ( tLList1380991092t_all2 @ A @ C @ B @ D @ R1 @ R2 ) ) ) ) ).
% tllist.right_unique_rel
thf(fact_203_functional__relation,axiom,
! [A: $tType,B: $tType,R: A > B > $o] :
( ( right_unique @ A @ B @ R )
=> ( ( left_total @ A @ B @ R )
=> ! [X6: A] :
? [Xa2: B] :
( ( R @ X6 @ Xa2 )
& ! [Y6: B] :
( ( R @ X6 @ Y6 )
=> ( Y6 = Xa2 ) ) ) ) ) ).
% functional_relation
thf(fact_204_functional__converse__relation,axiom,
! [B: $tType,A: $tType,R: A > B > $o] :
( ( left_unique @ A @ B @ R )
=> ( ( right_total @ A @ B @ R )
=> ! [Y6: B] :
? [X: A] :
( ( R @ X @ Y6 )
& ! [Ya3: A] :
( ( R @ Ya3 @ Y6 )
=> ( Ya3 = X ) ) ) ) ) ).
% functional_converse_relation
thf(fact_205_left__unique__OO,axiom,
! [A: $tType,C: $tType,B: $tType,R: A > B > $o,S2: B > C > $o] :
( ( left_unique @ A @ B @ R )
=> ( ( left_unique @ B @ C @ S2 )
=> ( left_unique @ A @ C @ ( relcompp @ A @ B @ C @ R @ S2 ) ) ) ) ).
% left_unique_OO
thf(fact_206_right__unique__OO,axiom,
! [A: $tType,C: $tType,B: $tType,A2: A > B > $o,B2: B > C > $o] :
( ( right_unique @ A @ B @ A2 )
=> ( ( right_unique @ B @ C @ B2 )
=> ( right_unique @ A @ C @ ( relcompp @ A @ B @ C @ A2 @ B2 ) ) ) ) ).
% right_unique_OO
thf(fact_207_right__total__fun,axiom,
! [A: $tType,B: $tType,D: $tType,C: $tType,A2: A > B > $o,B2: C > D > $o] :
( ( right_unique @ A @ B @ A2 )
=> ( ( right_total @ C @ D @ B2 )
=> ( right_total @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) ) ) ) ).
% right_total_fun
thf(fact_208_eq__imp__transfer,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( right_unique @ A @ B @ A2 )
=> ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2 @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2 @ (=>) )
@ ^ [Y2: A,Z: A] : Y2 = Z
@ ^ [Y2: B,Z: B] : Y2 = Z ) ) ).
% eq_imp_transfer
thf(fact_209_right__unique__alt__def2,axiom,
! [B: $tType,A: $tType] :
( ( right_unique @ A @ B )
= ( ^ [R5: A > B > $o] :
( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ R5 @ ( bNF_rel_fun @ A @ B @ $o @ $o @ R5 @ (=>) )
@ ^ [Y2: A,Z: A] : Y2 = Z
@ ^ [Y2: B,Z: B] : Y2 = Z ) ) ) ).
% right_unique_alt_def2
thf(fact_210_left__total__fun,axiom,
! [A: $tType,B: $tType,D: $tType,C: $tType,A2: A > B > $o,B2: C > D > $o] :
( ( left_unique @ A @ B @ A2 )
=> ( ( left_total @ C @ D @ B2 )
=> ( left_total @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) ) ) ) ).
% left_total_fun
thf(fact_211_lfp_Oleq__refl,axiom,
! [A: $tType] :
( ( comple187826305attice @ A @ ( type2 @ A ) )
=> ! [X2: A] : ( ord_less_eq @ A @ X2 @ X2 ) ) ).
% lfp.leq_refl
thf(fact_212_gfp_Oleq__trans,axiom,
! [A: $tType] :
( ( comple187826305attice @ A @ ( type2 @ A ) )
=> ! [Y4: A,X2: A,Z2: A] :
( ( ord_less_eq @ A @ Y4 @ X2 )
=> ( ( ord_less_eq @ A @ Z2 @ Y4 )
=> ( ord_less_eq @ A @ Z2 @ X2 ) ) ) ) ).
% gfp.leq_trans
thf(fact_213_lfp_Oleq__trans,axiom,
! [A: $tType] :
( ( comple187826305attice @ A @ ( type2 @ A ) )
=> ! [X2: A,Y4: A,Z2: A] :
( ( ord_less_eq @ A @ X2 @ Y4 )
=> ( ( ord_less_eq @ A @ Y4 @ Z2 )
=> ( ord_less_eq @ A @ X2 @ Z2 ) ) ) ) ).
% lfp.leq_trans
thf(fact_214_gfp_Oleq__antisym,axiom,
! [A: $tType] :
( ( comple187826305attice @ A @ ( type2 @ A ) )
=> ! [Y4: A,X2: A] :
( ( ord_less_eq @ A @ Y4 @ X2 )
=> ( ( ord_less_eq @ A @ X2 @ Y4 )
=> ( X2 = Y4 ) ) ) ) ).
% gfp.leq_antisym
thf(fact_215_lfp_Oleq__antisym,axiom,
! [A: $tType] :
( ( comple187826305attice @ A @ ( type2 @ A ) )
=> ! [X2: A,Y4: A] :
( ( ord_less_eq @ A @ X2 @ Y4 )
=> ( ( ord_less_eq @ A @ Y4 @ X2 )
=> ( X2 = Y4 ) ) ) ) ).
% lfp.leq_antisym
thf(fact_216_neg__fun__distr1,axiom,
! [D: $tType,A: $tType,B: $tType,C: $tType,E: $tType,F2: $tType,R: A > B > $o,R8: B > C > $o,S2: D > F2 > $o,S6: F2 > E > $o] :
( ( left_unique @ A @ B @ R )
=> ( ( right_total @ A @ B @ R )
=> ( ( right_unique @ B @ C @ R8 )
=> ( ( left_total @ B @ C @ R8 )
=> ( ord_less_eq @ ( ( A > D ) > ( C > E ) > $o ) @ ( bNF_rel_fun @ A @ C @ D @ E @ ( relcompp @ A @ B @ C @ R @ R8 ) @ ( relcompp @ D @ F2 @ E @ S2 @ S6 ) ) @ ( relcompp @ ( A > D ) @ ( B > F2 ) @ ( C > E ) @ ( bNF_rel_fun @ A @ B @ D @ F2 @ R @ S2 ) @ ( bNF_rel_fun @ B @ C @ F2 @ E @ R8 @ S6 ) ) ) ) ) ) ) ).
% neg_fun_distr1
thf(fact_217_left__unique__transfer,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
( ( right_total @ A @ B @ A2 )
=> ( ( right_total @ C @ D @ B2 )
=> ( ( bi_unique @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > C > $o ) @ ( B > D > $o ) @ $o @ $o
@ ( bNF_rel_fun @ A @ B @ ( C > $o ) @ ( D > $o ) @ A2
@ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ (=>)
@ ( left_unique @ A @ C )
@ ( left_unique @ B @ D ) ) ) ) ) ).
% left_unique_transfer
thf(fact_218_right__unique__transfer,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
( ( right_total @ A @ B @ A2 )
=> ( ( right_total @ C @ D @ B2 )
=> ( ( bi_unique @ C @ D @ B2 )
=> ( bNF_rel_fun @ ( A > C > $o ) @ ( B > D > $o ) @ $o @ $o
@ ( bNF_rel_fun @ A @ B @ ( C > $o ) @ ( D > $o ) @ A2
@ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ (=>)
@ ( right_unique @ A @ C )
@ ( right_unique @ B @ D ) ) ) ) ) ).
% right_unique_transfer
thf(fact_219_left__unique__parametric,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
( ( bi_unique @ A @ B @ A2 )
=> ( ( bi_total @ A @ B @ A2 )
=> ( ( bi_total @ C @ D @ B2 )
=> ( bNF_rel_fun @ ( A > C > $o ) @ ( B > D > $o ) @ $o @ $o
@ ( bNF_rel_fun @ A @ B @ ( C > $o ) @ ( D > $o ) @ A2
@ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ^ [Y2: $o,Z: $o] : Y2 = Z
@ ( left_unique @ A @ C )
@ ( left_unique @ B @ D ) ) ) ) ) ).
% left_unique_parametric
thf(fact_220_bi__total__fun,axiom,
! [A: $tType,B: $tType,D: $tType,C: $tType,A2: A > B > $o,B2: C > D > $o] :
( ( bi_unique @ A @ B @ A2 )
=> ( ( bi_total @ C @ D @ B2 )
=> ( bi_total @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) ) ) ) ).
% bi_total_fun
thf(fact_221_eq__transfer,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( bi_unique @ A @ B @ A2 )
=> ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ ^ [Y2: A,Z: A] : Y2 = Z
@ ^ [Y2: B,Z: B] : Y2 = Z ) ) ).
% eq_transfer
thf(fact_222_bi__unique__alt__def2,axiom,
! [B: $tType,A: $tType] :
( ( bi_unique @ A @ B )
= ( ^ [R5: A > B > $o] :
( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ R5
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ R5
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ ^ [Y2: A,Z: A] : Y2 = Z
@ ^ [Y2: B,Z: B] : Y2 = Z ) ) ) ).
% bi_unique_alt_def2
thf(fact_223_bi__unique__fun,axiom,
! [A: $tType,B: $tType,D: $tType,C: $tType,A2: A > B > $o,B2: C > D > $o] :
( ( bi_total @ A @ B @ A2 )
=> ( ( bi_unique @ C @ D @ B2 )
=> ( bi_unique @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) ) ) ) ).
% bi_unique_fun
thf(fact_224_bi__uniqueDl,axiom,
! [B: $tType,A: $tType,A2: A > B > $o,X2: A,Y4: B,Z2: A] :
( ( bi_unique @ A @ B @ A2 )
=> ( ( A2 @ X2 @ Y4 )
=> ( ( A2 @ Z2 @ Y4 )
=> ( X2 = Z2 ) ) ) ) ).
% bi_uniqueDl
thf(fact_225_bi__uniqueDr,axiom,
! [A: $tType,B: $tType,A2: A > B > $o,X2: A,Y4: B,Z2: B] :
( ( bi_unique @ A @ B @ A2 )
=> ( ( A2 @ X2 @ Y4 )
=> ( ( A2 @ X2 @ Z2 )
=> ( Y4 = Z2 ) ) ) ) ).
% bi_uniqueDr
thf(fact_226_bi__unique__eq,axiom,
! [A: $tType] :
( bi_unique @ A @ A
@ ^ [Y2: A,Z: A] : Y2 = Z ) ).
% bi_unique_eq
thf(fact_227_bi__unique__def,axiom,
! [B: $tType,A: $tType] :
( ( bi_unique @ A @ B )
= ( ^ [R5: A > B > $o] :
( ! [X3: A,Y3: B,Z3: B] :
( ( R5 @ X3 @ Y3 )
=> ( ( R5 @ X3 @ Z3 )
=> ( Y3 = Z3 ) ) )
& ! [X3: A,Y3: A,Z3: B] :
( ( R5 @ X3 @ Z3 )
=> ( ( R5 @ Y3 @ Z3 )
=> ( X3 = Y3 ) ) ) ) ) ) ).
% bi_unique_def
thf(fact_228_tllist_Obi__unique__rel,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,R1: A > C > $o,R2: B > D > $o] :
( ( bi_unique @ A @ C @ R1 )
=> ( ( bi_unique @ B @ D @ R2 )
=> ( bi_unique @ ( tLList446370796tllist @ A @ B ) @ ( tLList446370796tllist @ C @ D ) @ ( tLList1380991092t_all2 @ A @ C @ B @ D @ R1 @ R2 ) ) ) ) ).
% tllist.bi_unique_rel
thf(fact_229_bi__unique__OO,axiom,
! [A: $tType,C: $tType,B: $tType,A2: A > B > $o,B2: B > C > $o] :
( ( bi_unique @ A @ B @ A2 )
=> ( ( bi_unique @ B @ C @ B2 )
=> ( bi_unique @ A @ C @ ( relcompp @ A @ B @ C @ A2 @ B2 ) ) ) ) ).
% bi_unique_OO
thf(fact_230_bi__uniqueI,axiom,
! [B: $tType,A: $tType,R: A > B > $o] :
( ( left_unique @ A @ B @ R )
=> ( ( right_unique @ A @ B @ R )
=> ( bi_unique @ A @ B @ R ) ) ) ).
% bi_uniqueI
thf(fact_231_bi__unique__alt__def,axiom,
! [B: $tType,A: $tType] :
( ( bi_unique @ A @ B )
= ( ^ [A6: A > B > $o] :
( ( left_unique @ A @ B @ A6 )
& ( right_unique @ A @ B @ A6 ) ) ) ) ).
% bi_unique_alt_def
thf(fact_232_right__unique__parametric,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
( ( bi_total @ A @ B @ A2 )
=> ( ( bi_unique @ C @ D @ B2 )
=> ( ( bi_total @ C @ D @ B2 )
=> ( bNF_rel_fun @ ( A > C > $o ) @ ( B > D > $o ) @ $o @ $o
@ ( bNF_rel_fun @ A @ B @ ( C > $o ) @ ( D > $o ) @ A2
@ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ^ [Y2: $o,Z: $o] : Y2 = Z
@ ( right_unique @ A @ C )
@ ( right_unique @ B @ D ) ) ) ) ) ).
% right_unique_parametric
thf(fact_233_fun__upd__transfer,axiom,
! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
( ( bi_unique @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > C ) @ ( B > D ) @ ( A > C > A > C ) @ ( B > D > B > D ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) @ ( bNF_rel_fun @ A @ B @ ( C > A > C ) @ ( D > B > D ) @ A2 @ ( bNF_rel_fun @ C @ D @ ( A > C ) @ ( B > D ) @ B2 @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) ) ) @ ( fun_upd @ A @ C ) @ ( fun_upd @ B @ D ) ) ) ).
% fun_upd_transfer
thf(fact_234_rtranclp__parametric,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( bi_unique @ A @ B @ A2 )
=> ( ( bi_total @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > A > $o ) @ ( B > B > $o ) @ ( A > A > $o ) @ ( B > B > $o )
@ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( transitive_rtranclp @ A )
@ ( transitive_rtranclp @ B ) ) ) ) ).
% rtranclp_parametric
thf(fact_235_fun__upd__apply,axiom,
! [A: $tType,B: $tType] :
( ( fun_upd @ B @ A )
= ( ^ [F: B > A,X3: B,Y3: A,Z3: B] : ( if @ A @ ( Z3 = X3 ) @ Y3 @ ( F @ Z3 ) ) ) ) ).
% fun_upd_apply
thf(fact_236_fun__upd__triv,axiom,
! [B: $tType,A: $tType,F3: A > B,X2: A] :
( ( fun_upd @ A @ B @ F3 @ X2 @ ( F3 @ X2 ) )
= F3 ) ).
% fun_upd_triv
thf(fact_237_fun__upd__upd,axiom,
! [A: $tType,B: $tType,F3: A > B,X2: A,Y4: B,Z2: B] :
( ( fun_upd @ A @ B @ ( fun_upd @ A @ B @ F3 @ X2 @ Y4 ) @ X2 @ Z2 )
= ( fun_upd @ A @ B @ F3 @ X2 @ Z2 ) ) ).
% fun_upd_upd
thf(fact_238_fun__upd__idem__iff,axiom,
! [A: $tType,B: $tType,F3: A > B,X2: A,Y4: B] :
( ( ( fun_upd @ A @ B @ F3 @ X2 @ Y4 )
= F3 )
= ( ( F3 @ X2 )
= Y4 ) ) ).
% fun_upd_idem_iff
thf(fact_239_fun__upd__twist,axiom,
! [A: $tType,B: $tType,A3: A,C3: A,M2: A > B,B3: B,D3: B] :
( ( A3 != C3 )
=> ( ( fun_upd @ A @ B @ ( fun_upd @ A @ B @ M2 @ A3 @ B3 ) @ C3 @ D3 )
= ( fun_upd @ A @ B @ ( fun_upd @ A @ B @ M2 @ C3 @ D3 ) @ A3 @ B3 ) ) ) ).
% fun_upd_twist
thf(fact_240_fun__upd__other,axiom,
! [B: $tType,A: $tType,Z2: A,X2: A,F3: A > B,Y4: B] :
( ( Z2 != X2 )
=> ( ( fun_upd @ A @ B @ F3 @ X2 @ Y4 @ Z2 )
= ( F3 @ Z2 ) ) ) ).
% fun_upd_other
thf(fact_241_fun__upd__same,axiom,
! [B: $tType,A: $tType,F3: B > A,X2: B,Y4: A] :
( ( fun_upd @ B @ A @ F3 @ X2 @ Y4 @ X2 )
= Y4 ) ).
% fun_upd_same
thf(fact_242_fun__upd__idem,axiom,
! [A: $tType,B: $tType,F3: B > A,X2: B,Y4: A] :
( ( ( F3 @ X2 )
= Y4 )
=> ( ( fun_upd @ B @ A @ F3 @ X2 @ Y4 )
= F3 ) ) ).
% fun_upd_idem
thf(fact_243_fun__upd__eqD,axiom,
! [A: $tType,B: $tType,F3: A > B,X2: A,Y4: B,G: A > B,Z2: B] :
( ( ( fun_upd @ A @ B @ F3 @ X2 @ Y4 )
= ( fun_upd @ A @ B @ G @ X2 @ Z2 ) )
=> ( Y4 = Z2 ) ) ).
% fun_upd_eqD
thf(fact_244_fun__upd__def,axiom,
! [B: $tType,A: $tType] :
( ( fun_upd @ A @ B )
= ( ^ [F: A > B,A5: A,B5: B,X3: A] : ( if @ B @ ( X3 = A5 ) @ B5 @ ( F @ X3 ) ) ) ) ).
% fun_upd_def
thf(fact_245_fun__upd__comp,axiom,
! [A: $tType,B: $tType,C: $tType,F3: C > B,G: A > C,X2: A,Y4: C] :
( ( comp @ C @ B @ A @ F3 @ ( fun_upd @ A @ C @ G @ X2 @ Y4 ) )
= ( fun_upd @ A @ B @ ( comp @ C @ B @ A @ F3 @ G ) @ X2 @ ( F3 @ Y4 ) ) ) ).
% fun_upd_comp
thf(fact_246_rtranclp__mono,axiom,
! [A: $tType,R7: A > A > $o,S4: A > A > $o] :
( ( ord_less_eq @ ( A > A > $o ) @ R7 @ S4 )
=> ( ord_less_eq @ ( A > A > $o ) @ ( transitive_rtranclp @ A @ R7 ) @ ( transitive_rtranclp @ A @ S4 ) ) ) ).
% rtranclp_mono
thf(fact_247_rtranclp__subset,axiom,
! [A: $tType,R: A > A > $o,S2: A > A > $o] :
( ( ord_less_eq @ ( A > A > $o ) @ R @ S2 )
=> ( ( ord_less_eq @ ( A > A > $o ) @ S2 @ ( transitive_rtranclp @ A @ R ) )
=> ( ( transitive_rtranclp @ A @ S2 )
= ( transitive_rtranclp @ A @ R ) ) ) ) ).
% rtranclp_subset
thf(fact_248_Ex1__parametric,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( bi_unique @ A @ B @ A2 )
=> ( ( bi_total @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ $o @ $o
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ ^ [Y2: $o,Z: $o] : Y2 = Z
@ ( ex1 @ A )
@ ( ex1 @ B ) ) ) ) ).
% Ex1_parametric
thf(fact_249_fixp__mono,axiom,
! [A: $tType] :
( ( comple1141879883l_ccpo @ A @ ( type2 @ A ) )
=> ! [F3: A > A,G: A > A] :
( ( partial_fun_ord @ A @ A @ A @ ( ord_less_eq @ A ) @ F3 @ G )
=> ( ( comple1396247847notone @ A @ A @ ( ord_less_eq @ A ) @ ( ord_less_eq @ A ) @ F3 )
=> ( ( comple1396247847notone @ A @ A @ ( ord_less_eq @ A ) @ ( ord_less_eq @ A ) @ G )
=> ( ord_less_eq @ A @ ( comple939513234o_fixp @ A @ F3 ) @ ( comple939513234o_fixp @ A @ G ) ) ) ) ) ) ).
% fixp_mono
thf(fact_250_fixp__lowerbound,axiom,
! [A: $tType] :
( ( comple1141879883l_ccpo @ A @ ( type2 @ A ) )
=> ! [F3: A > A,Z2: A] :
( ( comple1396247847notone @ A @ A @ ( ord_less_eq @ A ) @ ( ord_less_eq @ A ) @ F3 )
=> ( ( ord_less_eq @ A @ ( F3 @ Z2 ) @ Z2 )
=> ( ord_less_eq @ A @ ( comple939513234o_fixp @ A @ F3 ) @ Z2 ) ) ) ) ).
% fixp_lowerbound
thf(fact_251_fixp__unfold,axiom,
! [A: $tType] :
( ( comple1141879883l_ccpo @ A @ ( type2 @ A ) )
=> ! [F3: A > A] :
( ( comple1396247847notone @ A @ A @ ( ord_less_eq @ A ) @ ( ord_less_eq @ A ) @ F3 )
=> ( ( comple939513234o_fixp @ A @ F3 )
= ( F3 @ ( comple939513234o_fixp @ A @ F3 ) ) ) ) ) ).
% fixp_unfold
thf(fact_252_eq__onp__transfer,axiom,
! [A: $tType,B: $tType,A2: A > B > $o] :
( ( bi_unique @ A @ B @ A2 )
=> ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ ( A > A > $o ) @ ( B > B > $o )
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
@ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
@ ^ [Y2: $o,Z: $o] : Y2 = Z ) )
@ ( bNF_eq_onp @ A )
@ ( bNF_eq_onp @ B ) ) ) ).
% eq_onp_transfer
thf(fact_253_iterates__fixp,axiom,
! [A: $tType] :
( ( comple1141879883l_ccpo @ A @ ( type2 @ A ) )
=> ! [F3: A > A] :
( ( comple1396247847notone @ A @ A @ ( ord_less_eq @ A ) @ ( ord_less_eq @ A ) @ F3 )
=> ( member @ A @ ( comple939513234o_fixp @ A @ F3 ) @ ( comple453842640erates @ A @ F3 ) ) ) ) ).
% iterates_fixp
thf(fact_254_iterates_Ostep,axiom,
! [A: $tType] :
( ( comple1141879883l_ccpo @ A @ ( type2 @ A ) )
=> ! [X2: A,F3: A > A] :
( ( member @ A @ X2 @ ( comple453842640erates @ A @ F3 ) )
=> ( member @ A @ ( F3 @ X2 ) @ ( comple453842640erates @ A @ F3 ) ) ) ) ).
% iterates.step
thf(fact_255_eq__onp__eqD,axiom,
! [A: $tType,P: A > $o,Q: A > A > $o,X2: A] :
( ( ( bNF_eq_onp @ A @ P )
= Q )
=> ( ( P @ X2 )
= ( Q @ X2 @ X2 ) ) ) ).
% eq_onp_eqD
%----Type constructors (16)
thf(tcon_fun___Complete__Lattices_Ocomplete__lattice,axiom,
! [A7: $tType,A8: $tType] :
( ( comple187826305attice @ A8 @ ( type2 @ A8 ) )
=> ( comple187826305attice @ ( A7 > A8 ) @ ( type2 @ ( A7 > A8 ) ) ) ) ).
thf(tcon_fun___Complete__Partial__Order_Occpo,axiom,
! [A7: $tType,A8: $tType] :
( ( comple187826305attice @ A8 @ ( type2 @ A8 ) )
=> ( comple1141879883l_ccpo @ ( A7 > A8 ) @ ( type2 @ ( A7 > A8 ) ) ) ) ).
thf(tcon_fun___Orderings_Opreorder,axiom,
! [A7: $tType,A8: $tType] :
( ( preorder @ A8 @ ( type2 @ A8 ) )
=> ( preorder @ ( A7 > A8 ) @ ( type2 @ ( A7 > A8 ) ) ) ) ).
thf(tcon_fun___Orderings_Oorder,axiom,
! [A7: $tType,A8: $tType] :
( ( order @ A8 @ ( type2 @ A8 ) )
=> ( order @ ( A7 > A8 ) @ ( type2 @ ( A7 > A8 ) ) ) ) ).
thf(tcon_fun___Orderings_Oord,axiom,
! [A7: $tType,A8: $tType] :
( ( ord @ A8 @ ( type2 @ A8 ) )
=> ( ord @ ( A7 > A8 ) @ ( type2 @ ( A7 > A8 ) ) ) ) ).
thf(tcon_Set_Oset___Complete__Lattices_Ocomplete__lattice_1,axiom,
! [A7: $tType] : ( comple187826305attice @ ( set @ A7 ) @ ( type2 @ ( set @ A7 ) ) ) ).
thf(tcon_Set_Oset___Complete__Partial__Order_Occpo_2,axiom,
! [A7: $tType] : ( comple1141879883l_ccpo @ ( set @ A7 ) @ ( type2 @ ( set @ A7 ) ) ) ).
thf(tcon_Set_Oset___Orderings_Opreorder_3,axiom,
! [A7: $tType] : ( preorder @ ( set @ A7 ) @ ( type2 @ ( set @ A7 ) ) ) ).
thf(tcon_Set_Oset___Orderings_Oorder_4,axiom,
! [A7: $tType] : ( order @ ( set @ A7 ) @ ( type2 @ ( set @ A7 ) ) ) ).
thf(tcon_Set_Oset___Orderings_Oord_5,axiom,
! [A7: $tType] : ( ord @ ( set @ A7 ) @ ( type2 @ ( set @ A7 ) ) ) ).
thf(tcon_HOL_Obool___Complete__Lattices_Ocomplete__lattice_6,axiom,
comple187826305attice @ $o @ ( type2 @ $o ) ).
thf(tcon_HOL_Obool___Complete__Partial__Order_Occpo_7,axiom,
comple1141879883l_ccpo @ $o @ ( type2 @ $o ) ).
thf(tcon_HOL_Obool___Orderings_Opreorder_8,axiom,
preorder @ $o @ ( type2 @ $o ) ).
thf(tcon_HOL_Obool___Orderings_Olinorder,axiom,
linorder @ $o @ ( type2 @ $o ) ).
thf(tcon_HOL_Obool___Orderings_Oorder_9,axiom,
order @ $o @ ( type2 @ $o ) ).
thf(tcon_HOL_Obool___Orderings_Oord_10,axiom,
ord @ $o @ ( type2 @ $o ) ).
%----Helper facts (3)
thf(help_If_3_1_T,axiom,
! [P: $o] :
( ( P = $true )
| ( P = $false ) ) ).
thf(help_If_2_1_T,axiom,
! [A: $tType,X2: A,Y4: A] :
( ( if @ A @ $false @ X2 @ Y4 )
= Y4 ) ).
thf(help_If_1_1_T,axiom,
! [A: $tType,X2: A,Y4: A] :
( ( if @ A @ $true @ X2 @ Y4 )
= X2 ) ).
%----Conjectures (1)
thf(conj_0,conjecture,
( bNF_rel_fun @ ( a > $o ) @ ( b > $o ) @ ( ( a > c ) > ( a > d ) > ( a > a ) > a > ( tLList446370796tllist @ d @ c ) ) @ ( ( b > e ) > ( b > f ) > ( b > b ) > b > ( tLList446370796tllist @ f @ e ) )
@ ( bNF_rel_fun @ a @ b @ $o @ $o @ a2
@ ^ [Y2: $o,Z: $o] : Y2 = Z )
@ ( bNF_rel_fun @ ( a > c ) @ ( b > e ) @ ( ( a > d ) > ( a > a ) > a > ( tLList446370796tllist @ d @ c ) ) @ ( ( b > f ) > ( b > b ) > b > ( tLList446370796tllist @ f @ e ) ) @ ( bNF_rel_fun @ a @ b @ c @ e @ a2 @ b2 ) @ ( bNF_rel_fun @ ( a > d ) @ ( b > f ) @ ( ( a > a ) > a > ( tLList446370796tllist @ d @ c ) ) @ ( ( b > b ) > b > ( tLList446370796tllist @ f @ e ) ) @ ( bNF_rel_fun @ a @ b @ d @ f @ a2 @ c2 ) @ ( bNF_rel_fun @ ( a > a ) @ ( b > b ) @ ( a > ( tLList446370796tllist @ d @ c ) ) @ ( b > ( tLList446370796tllist @ f @ e ) ) @ ( bNF_rel_fun @ a @ b @ a @ b @ a2 @ a2 ) @ ( bNF_rel_fun @ a @ b @ ( tLList446370796tllist @ d @ c ) @ ( tLList446370796tllist @ f @ e ) @ a2 @ ( tLList1380991092t_all2 @ d @ f @ c @ e @ c2 @ b2 ) ) ) ) )
@ ( tLList636831159tllist @ a @ c @ d )
@ ( tLList636831159tllist @ b @ e @ f ) ) ).
%------------------------------------------------------------------------------