:: PRALG_1 semantic presentation begin definitionlet "A", "B" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "h1" be ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Const "A")) "," (Set (Const "B")) ($#k2_zfmisc_1 :::":]"::: ) ); :: original: :::"pr1"::: redefine func :::"pr1"::: "h1" -> ($#m2_finseq_1 :::"FinSequence"::: ) "of" "A" means :: PRALG_1:def 1 (Bool "(" (Bool (Set ($#k3_finseq_1 :::"len"::: ) it) ($#r1_hidden :::"="::: ) (Set ($#k3_finseq_1 :::"len"::: ) "h1")) & (Bool "(" "for" (Set (Var "n")) "being" ($#m1_hidden :::"Nat":::) "st" (Bool (Bool (Set (Var "n")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) it))) "holds" (Bool (Set it ($#k1_funct_1 :::"."::: ) (Set (Var "n"))) ($#r1_hidden :::"="::: ) (Set (Set "(" "h1" ($#k1_funct_1 :::"."::: ) (Set (Var "n")) ")" ) ($#k1_xtuple_0 :::"`1"::: ) )) ")" ) ")" ); :: original: :::"pr2"::: redefine func :::"pr2"::: "h1" -> ($#m2_finseq_1 :::"FinSequence"::: ) "of" "B" means :: PRALG_1:def 2 (Bool "(" (Bool (Set ($#k3_finseq_1 :::"len"::: ) it) ($#r1_hidden :::"="::: ) (Set ($#k3_finseq_1 :::"len"::: ) "h1")) & (Bool "(" "for" (Set (Var "n")) "being" ($#m1_hidden :::"Nat":::) "st" (Bool (Bool (Set (Var "n")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) it))) "holds" (Bool (Set it ($#k1_funct_1 :::"."::: ) (Set (Var "n"))) ($#r1_hidden :::"="::: ) (Set (Set "(" "h1" ($#k1_funct_1 :::"."::: ) (Set (Var "n")) ")" ) ($#k2_xtuple_0 :::"`2"::: ) )) ")" ) ")" ); end; :: deftheorem defines :::"pr1"::: PRALG_1:def 1 : (Bool "for" (Set (Var "A")) "," (Set (Var "B")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "h1")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "A")) "," (Set (Var "B")) ($#k2_zfmisc_1 :::":]"::: ) ) (Bool "for" (Set (Var "b4")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k1_pralg_1 :::"pr1"::: ) (Set (Var "h1")))) "iff" (Bool "(" (Bool (Set ($#k3_finseq_1 :::"len"::: ) (Set (Var "b4"))) ($#r1_hidden :::"="::: ) (Set ($#k3_finseq_1 :::"len"::: ) (Set (Var "h1")))) & (Bool "(" "for" (Set (Var "n")) "being" ($#m1_hidden :::"Nat":::) "st" (Bool (Bool (Set (Var "n")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set (Var "b4"))))) "holds" (Bool (Set (Set (Var "b4")) ($#k1_funct_1 :::"."::: ) (Set (Var "n"))) ($#r1_hidden :::"="::: ) (Set (Set "(" (Set (Var "h1")) ($#k1_funct_1 :::"."::: ) (Set (Var "n")) ")" ) ($#k1_xtuple_0 :::"`1"::: ) )) ")" ) ")" ) ")" )))); :: deftheorem defines :::"pr2"::: PRALG_1:def 2 : (Bool "for" (Set (Var "A")) "," (Set (Var "B")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "h1")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "A")) "," (Set (Var "B")) ($#k2_zfmisc_1 :::":]"::: ) ) (Bool "for" (Set (Var "b4")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set (Var "B")) "holds" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k2_pralg_1 :::"pr2"::: ) (Set (Var "h1")))) "iff" (Bool "(" (Bool (Set ($#k3_finseq_1 :::"len"::: ) (Set (Var "b4"))) ($#r1_hidden :::"="::: ) (Set ($#k3_finseq_1 :::"len"::: ) (Set (Var "h1")))) & (Bool "(" "for" (Set (Var "n")) "being" ($#m1_hidden :::"Nat":::) "st" (Bool (Bool (Set (Var "n")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set (Var "b4"))))) "holds" (Bool (Set (Set (Var "b4")) ($#k1_funct_1 :::"."::: ) (Set (Var "n"))) ($#r1_hidden :::"="::: ) (Set (Set "(" (Set (Var "h1")) ($#k1_funct_1 :::"."::: ) (Set (Var "n")) ")" ) ($#k2_xtuple_0 :::"`2"::: ) )) ")" ) ")" ) ")" )))); definitionlet "A", "B" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "f1" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set (Const "A")) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set (Const "A")); let "f2" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set (Const "B")) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set (Const "B")); assume (Bool (Set ($#k19_margrel1 :::"arity"::: ) (Set (Const "f1"))) ($#r1_hidden :::"="::: ) (Set ($#k19_margrel1 :::"arity"::: ) (Set (Const "f2")))) ; func :::"[[:":::"f1" "," "f2":::":]]"::: -> ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set ($#k2_zfmisc_1 :::"[:"::: ) "A" "," "B" ($#k2_zfmisc_1 :::":]"::: ) ) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set ($#k2_zfmisc_1 :::"[:"::: ) "A" "," "B" ($#k2_zfmisc_1 :::":]"::: ) ) means :: PRALG_1:def 3 (Bool "(" (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) it) ($#r1_hidden :::"="::: ) (Set (Set "(" ($#k19_margrel1 :::"arity"::: ) "f1" ")" ) ($#k4_finseq_2 :::"-tuples_on"::: ) (Set ($#k2_zfmisc_1 :::"[:"::: ) "A" "," "B" ($#k2_zfmisc_1 :::":]"::: ) ))) & (Bool "(" "for" (Set (Var "h")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) "A" "," "B" ($#k2_zfmisc_1 :::":]"::: ) ) "st" (Bool (Bool (Set (Var "h")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) it))) "holds" (Bool (Set it ($#k1_funct_1 :::"."::: ) (Set (Var "h"))) ($#r1_hidden :::"="::: ) (Set ($#k4_tarski :::"["::: ) (Set "(" "f1" ($#k1_funct_1 :::"."::: ) (Set "(" ($#k1_pralg_1 :::"pr1"::: ) (Set (Var "h")) ")" ) ")" ) "," (Set "(" "f2" ($#k1_funct_1 :::"."::: ) (Set "(" ($#k2_pralg_1 :::"pr2"::: ) (Set (Var "h")) ")" ) ")" ) ($#k4_tarski :::"]"::: ) )) ")" ) ")" ); end; :: deftheorem defines :::"[[:"::: PRALG_1:def 3 : (Bool "for" (Set (Var "A")) "," (Set (Var "B")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "f1")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set (Var "A")) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set (Var "A")) (Bool "for" (Set (Var "f2")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set (Var "B")) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set (Var "B")) "st" (Bool (Bool (Set ($#k19_margrel1 :::"arity"::: ) (Set (Var "f1"))) ($#r1_hidden :::"="::: ) (Set ($#k19_margrel1 :::"arity"::: ) (Set (Var "f2"))))) "holds" (Bool "for" (Set (Var "b5")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "A")) "," (Set (Var "B")) ($#k2_zfmisc_1 :::":]"::: ) ) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "A")) "," (Set (Var "B")) ($#k2_zfmisc_1 :::":]"::: ) ) "holds" (Bool "(" (Bool (Set (Var "b5")) ($#r1_hidden :::"="::: ) (Set ($#k3_pralg_1 :::"[[:"::: ) (Set (Var "f1")) "," (Set (Var "f2")) ($#k3_pralg_1 :::":]]"::: ) )) "iff" (Bool "(" (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "b5"))) ($#r1_hidden :::"="::: ) (Set (Set "(" ($#k19_margrel1 :::"arity"::: ) (Set (Var "f1")) ")" ) ($#k4_finseq_2 :::"-tuples_on"::: ) (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "A")) "," (Set (Var "B")) ($#k2_zfmisc_1 :::":]"::: ) ))) & (Bool "(" "for" (Set (Var "h")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "A")) "," (Set (Var "B")) ($#k2_zfmisc_1 :::":]"::: ) ) "st" (Bool (Bool (Set (Var "h")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "b5"))))) "holds" (Bool (Set (Set (Var "b5")) ($#k1_funct_1 :::"."::: ) (Set (Var "h"))) ($#r1_hidden :::"="::: ) (Set ($#k4_tarski :::"["::: ) (Set "(" (Set (Var "f1")) ($#k1_funct_1 :::"."::: ) (Set "(" ($#k1_pralg_1 :::"pr1"::: ) (Set (Var "h")) ")" ) ")" ) "," (Set "(" (Set (Var "f2")) ($#k1_funct_1 :::"."::: ) (Set "(" ($#k2_pralg_1 :::"pr2"::: ) (Set (Var "h")) ")" ) ")" ) ($#k4_tarski :::"]"::: ) )) ")" ) ")" ) ")" ))))); definitionlet "U1", "U2" be ($#l1_unialg_1 :::"Universal_Algebra":::); assume (Bool (Set (Const "U1")) "," (Set (Const "U2")) ($#r1_unialg_2 :::"are_similar"::: ) ) ; func :::"Opers"::: "(" "U1" "," "U2" ")" -> ($#m2_finseq_1 :::"PFuncFinSequence":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "U1") "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "U2") ($#k2_zfmisc_1 :::":]"::: ) ) means :: PRALG_1:def 4 (Bool "(" (Bool (Set ($#k3_finseq_1 :::"len"::: ) it) ($#r1_hidden :::"="::: ) (Set ($#k3_finseq_1 :::"len"::: ) (Set "the" ($#u1_unialg_1 :::"charact"::: ) "of" "U1"))) & (Bool "(" "for" (Set (Var "n")) "being" ($#m1_hidden :::"Nat":::) "st" (Bool (Bool (Set (Var "n")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) it))) "holds" (Bool "for" (Set (Var "h1")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "U1") ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "U1") (Bool "for" (Set (Var "h2")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "U2") ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "U2") "st" (Bool (Bool (Set (Var "h1")) ($#r1_hidden :::"="::: ) (Set (Set "the" ($#u1_unialg_1 :::"charact"::: ) "of" "U1") ($#k1_funct_1 :::"."::: ) (Set (Var "n")))) & (Bool (Set (Var "h2")) ($#r1_hidden :::"="::: ) (Set (Set "the" ($#u1_unialg_1 :::"charact"::: ) "of" "U2") ($#k1_funct_1 :::"."::: ) (Set (Var "n"))))) "holds" (Bool (Set it ($#k1_funct_1 :::"."::: ) (Set (Var "n"))) ($#r1_hidden :::"="::: ) (Set ($#k3_pralg_1 :::"[[:"::: ) (Set (Var "h1")) "," (Set (Var "h2")) ($#k3_pralg_1 :::":]]"::: ) )))) ")" ) ")" ); end; :: deftheorem defines :::"Opers"::: PRALG_1:def 4 : (Bool "for" (Set (Var "U1")) "," (Set (Var "U2")) "being" ($#l1_unialg_1 :::"Universal_Algebra":::) "st" (Bool (Bool (Set (Var "U1")) "," (Set (Var "U2")) ($#r1_unialg_2 :::"are_similar"::: ) )) "holds" (Bool "for" (Set (Var "b3")) "being" ($#m2_finseq_1 :::"PFuncFinSequence":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "U1"))) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "U2"))) ($#k2_zfmisc_1 :::":]"::: ) ) "holds" (Bool "(" (Bool (Set (Var "b3")) ($#r1_hidden :::"="::: ) (Set ($#k4_pralg_1 :::"Opers"::: ) "(" (Set (Var "U1")) "," (Set (Var "U2")) ")" )) "iff" (Bool "(" (Bool (Set ($#k3_finseq_1 :::"len"::: ) (Set (Var "b3"))) ($#r1_hidden :::"="::: ) (Set ($#k3_finseq_1 :::"len"::: ) (Set "the" ($#u1_unialg_1 :::"charact"::: ) "of" (Set (Var "U1"))))) & (Bool "(" "for" (Set (Var "n")) "being" ($#m1_hidden :::"Nat":::) "st" (Bool (Bool (Set (Var "n")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set (Var "b3"))))) "holds" (Bool "for" (Set (Var "h1")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "U1"))) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "U1"))) (Bool "for" (Set (Var "h2")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "U2"))) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "U2"))) "st" (Bool (Bool (Set (Var "h1")) ($#r1_hidden :::"="::: ) (Set (Set "the" ($#u1_unialg_1 :::"charact"::: ) "of" (Set (Var "U1"))) ($#k1_funct_1 :::"."::: ) (Set (Var "n")))) & (Bool (Set (Var "h2")) ($#r1_hidden :::"="::: ) (Set (Set "the" ($#u1_unialg_1 :::"charact"::: ) "of" (Set (Var "U2"))) ($#k1_funct_1 :::"."::: ) (Set (Var "n"))))) "holds" (Bool (Set (Set (Var "b3")) ($#k1_funct_1 :::"."::: ) (Set (Var "n"))) ($#r1_hidden :::"="::: ) (Set ($#k3_pralg_1 :::"[[:"::: ) (Set (Var "h1")) "," (Set (Var "h2")) ($#k3_pralg_1 :::":]]"::: ) )))) ")" ) ")" ) ")" ))); theorem :: PRALG_1:1 (Bool "for" (Set (Var "U1")) "," (Set (Var "U2")) "being" ($#l1_unialg_1 :::"Universal_Algebra":::) "st" (Bool (Bool (Set (Var "U1")) "," (Set (Var "U2")) ($#r1_unialg_2 :::"are_similar"::: ) )) "holds" (Bool (Set ($#g1_unialg_1 :::"UAStr"::: ) "(#" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "U1"))) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "U2"))) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set "(" ($#k4_pralg_1 :::"Opers"::: ) "(" (Set (Var "U1")) "," (Set (Var "U2")) ")" ")" ) "#)" ) "is" ($#v1_unialg_1 :::"strict"::: ) ($#l1_unialg_1 :::"Universal_Algebra":::))) ; definitionlet "U1", "U2" be ($#l1_unialg_1 :::"Universal_Algebra":::); assume (Bool (Set (Const "U1")) "," (Set (Const "U2")) ($#r1_unialg_2 :::"are_similar"::: ) ) ; func :::"[:":::"U1" "," "U2":::":]"::: -> ($#v1_unialg_1 :::"strict"::: ) ($#l1_unialg_1 :::"Universal_Algebra":::) equals :: PRALG_1:def 5 (Set ($#g1_unialg_1 :::"UAStr"::: ) "(#" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "U1") "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "U2") ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set "(" ($#k4_pralg_1 :::"Opers"::: ) "(" "U1" "," "U2" ")" ")" ) "#)" ); end; :: deftheorem defines :::"[:"::: PRALG_1:def 5 : (Bool "for" (Set (Var "U1")) "," (Set (Var "U2")) "being" ($#l1_unialg_1 :::"Universal_Algebra":::) "st" (Bool (Bool (Set (Var "U1")) "," (Set (Var "U2")) ($#r1_unialg_2 :::"are_similar"::: ) )) "holds" (Bool (Set ($#k5_pralg_1 :::"[:"::: ) (Set (Var "U1")) "," (Set (Var "U2")) ($#k5_pralg_1 :::":]"::: ) ) ($#r1_hidden :::"="::: ) (Set ($#g1_unialg_1 :::"UAStr"::: ) "(#" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "U1"))) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "U2"))) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set "(" ($#k4_pralg_1 :::"Opers"::: ) "(" (Set (Var "U1")) "," (Set (Var "U2")) ")" ")" ) "#)" ))); definitionlet "A", "B" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; func :::"Inv"::: "(" "A" "," "B" ")" -> ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) "A" "," "B" ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k2_zfmisc_1 :::"[:"::: ) "B" "," "A" ($#k2_zfmisc_1 :::":]"::: ) ) means :: PRALG_1:def 6 (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) "A" "," "B" ($#k2_zfmisc_1 :::":]"::: ) ) "holds" (Bool (Set it ($#k3_funct_2 :::"."::: ) (Set (Var "a"))) ($#r1_hidden :::"="::: ) (Set ($#k1_domain_1 :::"["::: ) (Set "(" (Set (Var "a")) ($#k3_domain_1 :::"`2"::: ) ")" ) "," (Set "(" (Set (Var "a")) ($#k2_domain_1 :::"`1"::: ) ")" ) ($#k1_domain_1 :::"]"::: ) ))); end; :: deftheorem defines :::"Inv"::: PRALG_1:def 6 : (Bool "for" (Set (Var "A")) "," (Set (Var "B")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "b3")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "A")) "," (Set (Var "B")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "B")) "," (Set (Var "A")) ($#k2_zfmisc_1 :::":]"::: ) ) "holds" (Bool "(" (Bool (Set (Var "b3")) ($#r1_hidden :::"="::: ) (Set ($#k6_pralg_1 :::"Inv"::: ) "(" (Set (Var "A")) "," (Set (Var "B")) ")" )) "iff" (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "A")) "," (Set (Var "B")) ($#k2_zfmisc_1 :::":]"::: ) ) "holds" (Bool (Set (Set (Var "b3")) ($#k3_funct_2 :::"."::: ) (Set (Var "a"))) ($#r1_hidden :::"="::: ) (Set ($#k1_domain_1 :::"["::: ) (Set "(" (Set (Var "a")) ($#k3_domain_1 :::"`2"::: ) ")" ) "," (Set "(" (Set (Var "a")) ($#k2_domain_1 :::"`1"::: ) ")" ) ($#k1_domain_1 :::"]"::: ) ))) ")" ))); theorem :: PRALG_1:2 (Bool "for" (Set (Var "A")) "," (Set (Var "B")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) "holds" (Bool (Set ($#k11_funcop_1 :::"rng"::: ) (Set "(" ($#k6_pralg_1 :::"Inv"::: ) "(" (Set (Var "A")) "," (Set (Var "B")) ")" ")" )) ($#r1_hidden :::"="::: ) (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "B")) "," (Set (Var "A")) ($#k2_zfmisc_1 :::":]"::: ) ))) ; theorem :: PRALG_1:3 (Bool "for" (Set (Var "A")) "," (Set (Var "B")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) "holds" (Bool (Set ($#k6_pralg_1 :::"Inv"::: ) "(" (Set (Var "A")) "," (Set (Var "B")) ")" ) "is" ($#v2_funct_1 :::"one-to-one"::: ) )) ; theorem :: PRALG_1:4 (Bool "for" (Set (Var "U1")) "," (Set (Var "U2")) "being" ($#l1_unialg_1 :::"Universal_Algebra":::) "st" (Bool (Bool (Set (Var "U1")) "," (Set (Var "U2")) ($#r1_unialg_2 :::"are_similar"::: ) )) "holds" (Bool (Set ($#k6_pralg_1 :::"Inv"::: ) "(" (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "U1"))) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "U2"))) ")" ) "is" ($#m1_subset_1 :::"Function":::) "of" (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set ($#k5_pralg_1 :::"[:"::: ) (Set (Var "U1")) "," (Set (Var "U2")) ($#k5_pralg_1 :::":]"::: ) )) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set ($#k5_pralg_1 :::"[:"::: ) (Set (Var "U2")) "," (Set (Var "U1")) ($#k5_pralg_1 :::":]"::: ) )))) ; theorem :: PRALG_1:5 (Bool "for" (Set (Var "U1")) "," (Set (Var "U2")) "being" ($#l1_unialg_1 :::"Universal_Algebra":::) "st" (Bool (Bool (Set (Var "U1")) "," (Set (Var "U2")) ($#r1_unialg_2 :::"are_similar"::: ) )) "holds" (Bool "for" (Set (Var "o1")) "being" ($#m5_margrel1 :::"operation":::) "of" (Set (Var "U1")) (Bool "for" (Set (Var "o2")) "being" ($#m5_margrel1 :::"operation":::) "of" (Set (Var "U2")) (Bool "for" (Set (Var "o")) "being" ($#m5_margrel1 :::"operation":::) "of" (Set ($#k5_pralg_1 :::"[:"::: ) (Set (Var "U1")) "," (Set (Var "U2")) ($#k5_pralg_1 :::":]"::: ) ) (Bool "for" (Set (Var "n")) "being" ($#m1_hidden :::"Nat":::) "st" (Bool (Bool (Set (Var "o1")) ($#r1_hidden :::"="::: ) (Set (Set "the" ($#u1_unialg_1 :::"charact"::: ) "of" (Set (Var "U1"))) ($#k1_funct_1 :::"."::: ) (Set (Var "n")))) & (Bool (Set (Var "o2")) ($#r1_hidden :::"="::: ) (Set (Set "the" ($#u1_unialg_1 :::"charact"::: ) "of" (Set (Var "U2"))) ($#k1_funct_1 :::"."::: ) (Set (Var "n")))) & (Bool (Set (Var "o")) ($#r1_hidden :::"="::: ) (Set (Set "the" ($#u1_unialg_1 :::"charact"::: ) "of" (Set ($#k5_pralg_1 :::"[:"::: ) (Set (Var "U1")) "," (Set (Var "U2")) ($#k5_pralg_1 :::":]"::: ) )) ($#k1_funct_1 :::"."::: ) (Set (Var "n")))) & (Bool (Set (Var "n")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "the" ($#u1_unialg_1 :::"charact"::: ) "of" (Set (Var "U1")))))) "holds" (Bool "(" (Bool (Set ($#k19_margrel1 :::"arity"::: ) (Set (Var "o"))) ($#r1_hidden :::"="::: ) (Set ($#k19_margrel1 :::"arity"::: ) (Set (Var "o1")))) & (Bool (Set ($#k19_margrel1 :::"arity"::: ) (Set (Var "o"))) ($#r1_hidden :::"="::: ) (Set ($#k19_margrel1 :::"arity"::: ) (Set (Var "o2")))) & (Bool (Set (Var "o")) ($#r1_hidden :::"="::: ) (Set ($#k3_pralg_1 :::"[[:"::: ) (Set (Var "o1")) "," (Set (Var "o2")) ($#k3_pralg_1 :::":]]"::: ) )) ")" )))))) ; theorem :: PRALG_1:6 (Bool "for" (Set (Var "U1")) "," (Set (Var "U2")) "being" ($#l1_unialg_1 :::"Universal_Algebra":::) "st" (Bool (Bool (Set (Var "U1")) "," (Set (Var "U2")) ($#r1_unialg_2 :::"are_similar"::: ) )) "holds" (Bool (Set ($#k5_pralg_1 :::"[:"::: ) (Set (Var "U1")) "," (Set (Var "U2")) ($#k5_pralg_1 :::":]"::: ) ) "," (Set (Var "U1")) ($#r1_unialg_2 :::"are_similar"::: ) )) ; theorem :: PRALG_1:7 (Bool "for" (Set (Var "U1")) "," (Set (Var "U2")) "," (Set (Var "U3")) "," (Set (Var "U4")) "being" ($#l1_unialg_1 :::"Universal_Algebra":::) "st" (Bool (Bool (Set (Var "U1")) "is" ($#m1_unialg_2 :::"SubAlgebra"::: ) "of" (Set (Var "U2"))) & (Bool (Set (Var "U3")) "is" ($#m1_unialg_2 :::"SubAlgebra"::: ) "of" (Set (Var "U4"))) & (Bool (Set (Var "U2")) "," (Set (Var "U4")) ($#r1_unialg_2 :::"are_similar"::: ) )) "holds" (Bool (Set ($#k5_pralg_1 :::"[:"::: ) (Set (Var "U1")) "," (Set (Var "U3")) ($#k5_pralg_1 :::":]"::: ) ) "is" ($#m1_unialg_2 :::"SubAlgebra"::: ) "of" (Set ($#k5_pralg_1 :::"[:"::: ) (Set (Var "U2")) "," (Set (Var "U4")) ($#k5_pralg_1 :::":]"::: ) ))) ; begin definitionlet "k" be ($#m1_hidden :::"Nat":::); func :::"TrivialOp"::: "k" -> ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set ($#k1_tarski :::"{"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ) ($#k1_tarski :::"}"::: ) ) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set ($#k1_tarski :::"{"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ) ($#k1_tarski :::"}"::: ) ) means :: PRALG_1:def 7 (Bool "(" (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) it) ($#r1_hidden :::"="::: ) (Set ($#k1_tarski :::"{"::: ) (Set "(" "k" ($#k2_finseq_2 :::"|->"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ) ")" ) ($#k1_tarski :::"}"::: ) )) & (Bool (Set ($#k10_xtuple_0 :::"rng"::: ) it) ($#r1_hidden :::"="::: ) (Set ($#k1_tarski :::"{"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ) ($#k1_tarski :::"}"::: ) )) ")" ); end; :: deftheorem defines :::"TrivialOp"::: PRALG_1:def 7 : (Bool "for" (Set (Var "k")) "being" ($#m1_hidden :::"Nat":::) (Bool "for" (Set (Var "b2")) "being" ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set ($#k1_tarski :::"{"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ) ($#k1_tarski :::"}"::: ) ) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set ($#k1_tarski :::"{"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ) ($#k1_tarski :::"}"::: ) ) "holds" (Bool "(" (Bool (Set (Var "b2")) ($#r1_hidden :::"="::: ) (Set ($#k7_pralg_1 :::"TrivialOp"::: ) (Set (Var "k")))) "iff" (Bool "(" (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "b2"))) ($#r1_hidden :::"="::: ) (Set ($#k1_tarski :::"{"::: ) (Set "(" (Set (Var "k")) ($#k2_finseq_2 :::"|->"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ) ")" ) ($#k1_tarski :::"}"::: ) )) & (Bool (Set ($#k10_xtuple_0 :::"rng"::: ) (Set (Var "b2"))) ($#r1_hidden :::"="::: ) (Set ($#k1_tarski :::"{"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ) ($#k1_tarski :::"}"::: ) )) ")" ) ")" ))); registrationlet "k" be ($#m1_hidden :::"Nat":::); cluster (Set ($#k7_pralg_1 :::"TrivialOp"::: ) "k") -> ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ; end; theorem :: PRALG_1:8 (Bool "for" (Set (Var "k")) "being" ($#m1_hidden :::"Nat":::) "holds" (Bool (Set ($#k19_margrel1 :::"arity"::: ) (Set "(" ($#k7_pralg_1 :::"TrivialOp"::: ) (Set (Var "k")) ")" )) ($#r1_hidden :::"="::: ) (Set (Var "k")))) ; definitionlet "f" be ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ); func :::"TrivialOps"::: "f" -> ($#m2_finseq_1 :::"PFuncFinSequence":::) "of" (Set ($#k1_tarski :::"{"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ) ($#k1_tarski :::"}"::: ) ) means :: PRALG_1:def 8 (Bool "(" (Bool (Set ($#k3_finseq_1 :::"len"::: ) it) ($#r1_hidden :::"="::: ) (Set ($#k3_finseq_1 :::"len"::: ) "f")) & (Bool "(" "for" (Set (Var "n")) "being" ($#m1_hidden :::"Nat":::) "st" (Bool (Bool (Set (Var "n")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) it))) "holds" (Bool "for" (Set (Var "m")) "being" ($#m1_hidden :::"Nat":::) "st" (Bool (Bool (Set (Var "m")) ($#r1_hidden :::"="::: ) (Set "f" ($#k1_funct_1 :::"."::: ) (Set (Var "n"))))) "holds" (Bool (Set it ($#k1_funct_1 :::"."::: ) (Set (Var "n"))) ($#r1_hidden :::"="::: ) (Set ($#k7_pralg_1 :::"TrivialOp"::: ) (Set (Var "m"))))) ")" ) ")" ); end; :: deftheorem defines :::"TrivialOps"::: PRALG_1:def 8 : (Bool "for" (Set (Var "f")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) (Bool "for" (Set (Var "b2")) "being" ($#m2_finseq_1 :::"PFuncFinSequence":::) "of" (Set ($#k1_tarski :::"{"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ) ($#k1_tarski :::"}"::: ) ) "holds" (Bool "(" (Bool (Set (Var "b2")) ($#r1_hidden :::"="::: ) (Set ($#k8_pralg_1 :::"TrivialOps"::: ) (Set (Var "f")))) "iff" (Bool "(" (Bool (Set ($#k3_finseq_1 :::"len"::: ) (Set (Var "b2"))) ($#r1_hidden :::"="::: ) (Set ($#k3_finseq_1 :::"len"::: ) (Set (Var "f")))) & (Bool "(" "for" (Set (Var "n")) "being" ($#m1_hidden :::"Nat":::) "st" (Bool (Bool (Set (Var "n")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set (Var "b2"))))) "holds" (Bool "for" (Set (Var "m")) "being" ($#m1_hidden :::"Nat":::) "st" (Bool (Bool (Set (Var "m")) ($#r1_hidden :::"="::: ) (Set (Set (Var "f")) ($#k1_funct_1 :::"."::: ) (Set (Var "n"))))) "holds" (Bool (Set (Set (Var "b2")) ($#k1_funct_1 :::"."::: ) (Set (Var "n"))) ($#r1_hidden :::"="::: ) (Set ($#k7_pralg_1 :::"TrivialOp"::: ) (Set (Var "m"))))) ")" ) ")" ) ")" ))); theorem :: PRALG_1:9 (Bool "for" (Set (Var "f")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) "holds" (Bool "(" (Bool (Set ($#k8_pralg_1 :::"TrivialOps"::: ) (Set (Var "f"))) "is" ($#v4_margrel1 :::"homogeneous"::: ) ) & (Bool (Set ($#k8_pralg_1 :::"TrivialOps"::: ) (Set (Var "f"))) "is" ($#v5_margrel1 :::"quasi_total"::: ) ) & (Bool (Set ($#k8_pralg_1 :::"TrivialOps"::: ) (Set (Var "f"))) "is" ($#v2_relat_1 :::"non-empty"::: ) ) ")" )) ; theorem :: PRALG_1:10 (Bool "for" (Set (Var "f")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) "st" (Bool (Bool (Set (Var "f")) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ))) "holds" (Bool (Set ($#g1_unialg_1 :::"UAStr"::: ) "(#" (Set ($#k1_tarski :::"{"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ) ($#k1_tarski :::"}"::: ) ) "," (Set "(" ($#k8_pralg_1 :::"TrivialOps"::: ) (Set (Var "f")) ")" ) "#)" ) "is" ($#v1_unialg_1 :::"strict"::: ) ($#l1_unialg_1 :::"Universal_Algebra":::))) ; registrationlet "D" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; cluster ($#v1_relat_1 :::"Relation-like"::: ) (Set ($#k5_numbers :::"NAT"::: ) ) ($#v4_relat_1 :::"-defined"::: ) "D" ($#v5_relat_1 :::"-valued"::: ) ($#v1_funct_1 :::"Function-like"::: ) ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) bbbadV1_FINSET_1() ($#v4_card_3 :::"countable"::: ) ($#v1_finseq_1 :::"FinSequence-like"::: ) ($#v2_finseq_1 :::"FinSubsequence-like"::: ) for ($#m1_subset_1 :::"Element"::: ) "of" (Set "D" ($#k3_finseq_2 :::"*"::: ) ); end; definitionlet "f" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ); func :::"Trivial_Algebra"::: "f" -> ($#v1_unialg_1 :::"strict"::: ) ($#l1_unialg_1 :::"Universal_Algebra":::) equals :: PRALG_1:def 9 (Set ($#g1_unialg_1 :::"UAStr"::: ) "(#" (Set ($#k1_tarski :::"{"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ) ($#k1_tarski :::"}"::: ) ) "," (Set "(" ($#k8_pralg_1 :::"TrivialOps"::: ) "f" ")" ) "#)" ); end; :: deftheorem defines :::"Trivial_Algebra"::: PRALG_1:def 9 : (Bool "for" (Set (Var "f")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) "holds" (Bool (Set ($#k9_pralg_1 :::"Trivial_Algebra"::: ) (Set (Var "f"))) ($#r1_hidden :::"="::: ) (Set ($#g1_unialg_1 :::"UAStr"::: ) "(#" (Set ($#k1_tarski :::"{"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ) ($#k1_tarski :::"}"::: ) ) "," (Set "(" ($#k8_pralg_1 :::"TrivialOps"::: ) (Set (Var "f")) ")" ) "#)" ))); begin definitionlet "IT" be ($#m1_hidden :::"Function":::); attr "IT" is :::"Univ_Alg-yielding"::: means :: PRALG_1:def 10 (Bool "for" (Set (Var "x")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) "IT"))) "holds" (Bool (Set "IT" ($#k1_funct_1 :::"."::: ) (Set (Var "x"))) "is" ($#l1_unialg_1 :::"Universal_Algebra":::))); end; :: deftheorem defines :::"Univ_Alg-yielding"::: PRALG_1:def 10 : (Bool "for" (Set (Var "IT")) "being" ($#m1_hidden :::"Function":::) "holds" (Bool "(" (Bool (Set (Var "IT")) "is" ($#v1_pralg_1 :::"Univ_Alg-yielding"::: ) ) "iff" (Bool "for" (Set (Var "x")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "IT"))))) "holds" (Bool (Set (Set (Var "IT")) ($#k1_funct_1 :::"."::: ) (Set (Var "x"))) "is" ($#l1_unialg_1 :::"Universal_Algebra":::))) ")" )); definitionlet "IT" be ($#m1_hidden :::"Function":::); attr "IT" is :::"1-sorted-yielding"::: means :: PRALG_1:def 11 (Bool "for" (Set (Var "x")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) "IT"))) "holds" (Bool (Set "IT" ($#k1_funct_1 :::"."::: ) (Set (Var "x"))) "is" ($#l1_struct_0 :::"1-sorted"::: ) )); end; :: deftheorem defines :::"1-sorted-yielding"::: PRALG_1:def 11 : (Bool "for" (Set (Var "IT")) "being" ($#m1_hidden :::"Function":::) "holds" (Bool "(" (Bool (Set (Var "IT")) "is" ($#v2_pralg_1 :::"1-sorted-yielding"::: ) ) "iff" (Bool "for" (Set (Var "x")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "IT"))))) "holds" (Bool (Set (Set (Var "IT")) ($#k1_funct_1 :::"."::: ) (Set (Var "x"))) "is" ($#l1_struct_0 :::"1-sorted"::: ) )) ")" )); registration cluster ($#v1_relat_1 :::"Relation-like"::: ) ($#v1_funct_1 :::"Function-like"::: ) ($#v1_pralg_1 :::"Univ_Alg-yielding"::: ) for ($#m1_hidden :::"set"::: ) ; end; registration cluster ($#v1_relat_1 :::"Relation-like"::: ) ($#v1_funct_1 :::"Function-like"::: ) ($#v1_pralg_1 :::"Univ_Alg-yielding"::: ) -> ($#v2_pralg_1 :::"1-sorted-yielding"::: ) for ($#m1_hidden :::"set"::: ) ; end; registrationlet "I" be ($#m1_hidden :::"set"::: ) ; cluster ($#v1_relat_1 :::"Relation-like"::: ) "I" ($#v4_relat_1 :::"-defined"::: ) ($#v1_funct_1 :::"Function-like"::: ) ($#v1_partfun1 :::"total"::: ) ($#v2_pralg_1 :::"1-sorted-yielding"::: ) for ($#m1_hidden :::"set"::: ) ; end; definitionlet "IT" be ($#m1_hidden :::"Function":::); attr "IT" is :::"equal-signature"::: means :: PRALG_1:def 12 (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) "IT")) & (Bool (Set (Var "y")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) "IT"))) "holds" (Bool "for" (Set (Var "U1")) "," (Set (Var "U2")) "being" ($#l1_unialg_1 :::"Universal_Algebra":::) "st" (Bool (Bool (Set (Var "U1")) ($#r1_hidden :::"="::: ) (Set "IT" ($#k1_funct_1 :::"."::: ) (Set (Var "x")))) & (Bool (Set (Var "U2")) ($#r1_hidden :::"="::: ) (Set "IT" ($#k1_funct_1 :::"."::: ) (Set (Var "y"))))) "holds" (Bool (Set ($#k1_unialg_1 :::"signature"::: ) (Set (Var "U1"))) ($#r1_hidden :::"="::: ) (Set ($#k1_unialg_1 :::"signature"::: ) (Set (Var "U2")))))); end; :: deftheorem defines :::"equal-signature"::: PRALG_1:def 12 : (Bool "for" (Set (Var "IT")) "being" ($#m1_hidden :::"Function":::) "holds" (Bool "(" (Bool (Set (Var "IT")) "is" ($#v3_pralg_1 :::"equal-signature"::: ) ) "iff" (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "IT")))) & (Bool (Set (Var "y")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "IT"))))) "holds" (Bool "for" (Set (Var "U1")) "," (Set (Var "U2")) "being" ($#l1_unialg_1 :::"Universal_Algebra":::) "st" (Bool (Bool (Set (Var "U1")) ($#r1_hidden :::"="::: ) (Set (Set (Var "IT")) ($#k1_funct_1 :::"."::: ) (Set (Var "x")))) & (Bool (Set (Var "U2")) ($#r1_hidden :::"="::: ) (Set (Set (Var "IT")) ($#k1_funct_1 :::"."::: ) (Set (Var "y"))))) "holds" (Bool (Set ($#k1_unialg_1 :::"signature"::: ) (Set (Var "U1"))) ($#r1_hidden :::"="::: ) (Set ($#k1_unialg_1 :::"signature"::: ) (Set (Var "U2")))))) ")" )); registrationlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; cluster ($#v1_relat_1 :::"Relation-like"::: ) "J" ($#v4_relat_1 :::"-defined"::: ) ($#v1_funct_1 :::"Function-like"::: ) ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v1_partfun1 :::"total"::: ) ($#v1_pralg_1 :::"Univ_Alg-yielding"::: ) ($#v3_pralg_1 :::"equal-signature"::: ) for ($#m1_hidden :::"set"::: ) ; end; definitionlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "A" be ($#v2_pralg_1 :::"1-sorted-yielding"::: ) ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); let "j" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "J")); :: original: :::"."::: redefine func "A" :::"."::: "j" -> ($#l1_struct_0 :::"1-sorted"::: ) ; end; definitionlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "A" be ($#v1_pralg_1 :::"Univ_Alg-yielding"::: ) ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); let "j" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "J")); :: original: :::"."::: redefine func "A" :::"."::: "j" -> ($#l1_unialg_1 :::"Universal_Algebra":::); end; definitionlet "J" be ($#m1_hidden :::"set"::: ) ; let "A" be ($#v2_pralg_1 :::"1-sorted-yielding"::: ) ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); func :::"Carrier"::: "A" -> ($#m1_hidden :::"ManySortedSet":::) "of" "J" means :: PRALG_1:def 13 (Bool "for" (Set (Var "j")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "j")) ($#r2_hidden :::"in"::: ) "J")) "holds" (Bool "ex" (Set (Var "R")) "being" ($#l1_struct_0 :::"1-sorted"::: ) "st" (Bool "(" (Bool (Set (Var "R")) ($#r1_hidden :::"="::: ) (Set "A" ($#k1_funct_1 :::"."::: ) (Set (Var "j")))) & (Bool (Set it ($#k1_funct_1 :::"."::: ) (Set (Var "j"))) ($#r1_hidden :::"="::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "R")))) ")" ))); end; :: deftheorem defines :::"Carrier"::: PRALG_1:def 13 : (Bool "for" (Set (Var "J")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "A")) "being" ($#v2_pralg_1 :::"1-sorted-yielding"::: ) ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "J")) (Bool "for" (Set (Var "b3")) "being" ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "J")) "holds" (Bool "(" (Bool (Set (Var "b3")) ($#r1_hidden :::"="::: ) (Set ($#k12_pralg_1 :::"Carrier"::: ) (Set (Var "A")))) "iff" (Bool "for" (Set (Var "j")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "j")) ($#r2_hidden :::"in"::: ) (Set (Var "J")))) "holds" (Bool "ex" (Set (Var "R")) "being" ($#l1_struct_0 :::"1-sorted"::: ) "st" (Bool "(" (Bool (Set (Var "R")) ($#r1_hidden :::"="::: ) (Set (Set (Var "A")) ($#k1_funct_1 :::"."::: ) (Set (Var "j")))) & (Bool (Set (Set (Var "b3")) ($#k1_funct_1 :::"."::: ) (Set (Var "j"))) ($#r1_hidden :::"="::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "R")))) ")" ))) ")" )))); registrationlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "A" be ($#v1_pralg_1 :::"Univ_Alg-yielding"::: ) ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); cluster (Set ($#k12_pralg_1 :::"Carrier"::: ) "A") -> bbbadV2_RELAT_1() ; end; definitionlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "A" be ($#v1_pralg_1 :::"Univ_Alg-yielding"::: ) ($#v3_pralg_1 :::"equal-signature"::: ) ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); func :::"ComSign"::: "A" -> ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) means :: PRALG_1:def 14 (Bool "for" (Set (Var "j")) "being" ($#m1_subset_1 :::"Element"::: ) "of" "J" "holds" (Bool it ($#r1_hidden :::"="::: ) (Set ($#k1_unialg_1 :::"signature"::: ) (Set "(" "A" ($#k11_pralg_1 :::"."::: ) (Set (Var "j")) ")" )))); end; :: deftheorem defines :::"ComSign"::: PRALG_1:def 14 : (Bool "for" (Set (Var "J")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "A")) "being" ($#v1_pralg_1 :::"Univ_Alg-yielding"::: ) ($#v3_pralg_1 :::"equal-signature"::: ) ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "J")) (Bool "for" (Set (Var "b3")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) "holds" (Bool "(" (Bool (Set (Var "b3")) ($#r1_hidden :::"="::: ) (Set ($#k13_pralg_1 :::"ComSign"::: ) (Set (Var "A")))) "iff" (Bool "for" (Set (Var "j")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "J")) "holds" (Bool (Set (Var "b3")) ($#r1_hidden :::"="::: ) (Set ($#k1_unialg_1 :::"signature"::: ) (Set "(" (Set (Var "A")) ($#k11_pralg_1 :::"."::: ) (Set (Var "j")) ")" )))) ")" )))); registrationlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "B" be bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); cluster (Set ($#k4_card_3 :::"product"::: ) "B") -> ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ; end; definitionlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "B" be bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); mode :::"ManySortedOperation"::: "of" "B" -> ($#m1_hidden :::"ManySortedFunction":::) "of" "J" means :: PRALG_1:def 15 (Bool "for" (Set (Var "j")) "being" ($#m1_subset_1 :::"Element"::: ) "of" "J" "holds" (Bool (Set it ($#k1_funct_1 :::"."::: ) (Set (Var "j"))) "is" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set "(" "B" ($#k1_funct_1 :::"."::: ) (Set (Var "j")) ")" ) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set "(" "B" ($#k1_funct_1 :::"."::: ) (Set (Var "j")) ")" ))); end; :: deftheorem defines :::"ManySortedOperation"::: PRALG_1:def 15 : (Bool "for" (Set (Var "J")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "B")) "being" bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "J")) (Bool "for" (Set (Var "b3")) "being" ($#m1_hidden :::"ManySortedFunction":::) "of" (Set (Var "J")) "holds" (Bool "(" (Bool (Set (Var "b3")) "is" ($#m1_pralg_1 :::"ManySortedOperation"::: ) "of" (Set (Var "B"))) "iff" (Bool "for" (Set (Var "j")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "J")) "holds" (Bool (Set (Set (Var "b3")) ($#k1_funct_1 :::"."::: ) (Set (Var "j"))) "is" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set "(" (Set (Var "B")) ($#k1_funct_1 :::"."::: ) (Set (Var "j")) ")" ) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set "(" (Set (Var "B")) ($#k1_funct_1 :::"."::: ) (Set (Var "j")) ")" ))) ")" )))); definitionlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "B" be bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); let "O" be ($#m1_pralg_1 :::"ManySortedOperation"::: ) "of" (Set (Const "B")); let "j" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "J")); :: original: :::"."::: redefine func "O" :::"."::: "j" -> ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set "(" "B" ($#k1_funct_1 :::"."::: ) "j" ")" ) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set "(" "B" ($#k1_funct_1 :::"."::: ) "j" ")" ); end; definitionlet "IT" be ($#m1_hidden :::"Function":::); attr "IT" is :::"equal-arity"::: means :: PRALG_1:def 16 (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) "IT")) & (Bool (Set (Var "y")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) "IT"))) "holds" (Bool "for" (Set (Var "f")) "," (Set (Var "g")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set "IT" ($#k1_funct_1 :::"."::: ) (Set (Var "x"))) ($#r1_hidden :::"="::: ) (Set (Var "f"))) & (Bool (Set "IT" ($#k1_funct_1 :::"."::: ) (Set (Var "y"))) ($#r1_hidden :::"="::: ) (Set (Var "g")))) "holds" (Bool "for" (Set (Var "n")) "," (Set (Var "m")) "being" ($#m1_hidden :::"Nat":::) (Bool "for" (Set (Var "X")) "," (Set (Var "Y")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "f"))) ($#r1_hidden :::"="::: ) (Set (Set (Var "n")) ($#k4_finseq_2 :::"-tuples_on"::: ) (Set (Var "X")))) & (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "g"))) ($#r1_hidden :::"="::: ) (Set (Set (Var "m")) ($#k4_finseq_2 :::"-tuples_on"::: ) (Set (Var "Y"))))) "holds" (Bool "for" (Set (Var "o1")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set (Var "X")) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set (Var "X")) (Bool "for" (Set (Var "o2")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set (Var "Y")) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set (Var "Y")) "st" (Bool (Bool (Set (Var "f")) ($#r1_hidden :::"="::: ) (Set (Var "o1"))) & (Bool (Set (Var "g")) ($#r1_hidden :::"="::: ) (Set (Var "o2")))) "holds" (Bool (Set ($#k19_margrel1 :::"arity"::: ) (Set (Var "o1"))) ($#r1_hidden :::"="::: ) (Set ($#k19_margrel1 :::"arity"::: ) (Set (Var "o2")))))))))); end; :: deftheorem defines :::"equal-arity"::: PRALG_1:def 16 : (Bool "for" (Set (Var "IT")) "being" ($#m1_hidden :::"Function":::) "holds" (Bool "(" (Bool (Set (Var "IT")) "is" ($#v4_pralg_1 :::"equal-arity"::: ) ) "iff" (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "IT")))) & (Bool (Set (Var "y")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "IT"))))) "holds" (Bool "for" (Set (Var "f")) "," (Set (Var "g")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Set (Var "IT")) ($#k1_funct_1 :::"."::: ) (Set (Var "x"))) ($#r1_hidden :::"="::: ) (Set (Var "f"))) & (Bool (Set (Set (Var "IT")) ($#k1_funct_1 :::"."::: ) (Set (Var "y"))) ($#r1_hidden :::"="::: ) (Set (Var "g")))) "holds" (Bool "for" (Set (Var "n")) "," (Set (Var "m")) "being" ($#m1_hidden :::"Nat":::) (Bool "for" (Set (Var "X")) "," (Set (Var "Y")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "f"))) ($#r1_hidden :::"="::: ) (Set (Set (Var "n")) ($#k4_finseq_2 :::"-tuples_on"::: ) (Set (Var "X")))) & (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "g"))) ($#r1_hidden :::"="::: ) (Set (Set (Var "m")) ($#k4_finseq_2 :::"-tuples_on"::: ) (Set (Var "Y"))))) "holds" (Bool "for" (Set (Var "o1")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set (Var "X")) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set (Var "X")) (Bool "for" (Set (Var "o2")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set (Var "Y")) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set (Var "Y")) "st" (Bool (Bool (Set (Var "f")) ($#r1_hidden :::"="::: ) (Set (Var "o1"))) & (Bool (Set (Var "g")) ($#r1_hidden :::"="::: ) (Set (Var "o2")))) "holds" (Bool (Set ($#k19_margrel1 :::"arity"::: ) (Set (Var "o1"))) ($#r1_hidden :::"="::: ) (Set ($#k19_margrel1 :::"arity"::: ) (Set (Var "o2")))))))))) ")" )); registrationlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "B" be bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); cluster ($#v1_relat_1 :::"Relation-like"::: ) "J" ($#v4_relat_1 :::"-defined"::: ) ($#v1_funct_1 :::"Function-like"::: ) ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v1_partfun1 :::"total"::: ) ($#v1_funcop_1 :::"Function-yielding"::: ) bbbadV2_FUNCOP_1() ($#v4_pralg_1 :::"equal-arity"::: ) for ($#m1_pralg_1 :::"ManySortedOperation"::: ) "of" "B"; end; theorem :: PRALG_1:11 (Bool "for" (Set (Var "J")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "B")) "being" bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "J")) (Bool "for" (Set (Var "O")) "being" ($#m1_pralg_1 :::"ManySortedOperation"::: ) "of" (Set (Var "B")) "holds" (Bool "(" (Bool (Set (Var "O")) "is" ($#v4_pralg_1 :::"equal-arity"::: ) ) "iff" (Bool "for" (Set (Var "i")) "," (Set (Var "j")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "J")) "holds" (Bool (Set ($#k19_margrel1 :::"arity"::: ) (Set "(" (Set (Var "O")) ($#k14_pralg_1 :::"."::: ) (Set (Var "i")) ")" )) ($#r1_hidden :::"="::: ) (Set ($#k19_margrel1 :::"arity"::: ) (Set "(" (Set (Var "O")) ($#k14_pralg_1 :::"."::: ) (Set (Var "j")) ")" )))) ")" )))) ; definitionlet "F" be ($#v1_funcop_1 :::"Function-yielding"::: ) ($#m1_hidden :::"Function":::); let "f" be ($#m1_hidden :::"Function":::); func "F" :::".."::: "f" -> ($#m1_hidden :::"Function":::) means :: PRALG_1:def 17 (Bool "(" (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) it) ($#r1_hidden :::"="::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) "F")) & (Bool "(" "for" (Set (Var "x")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) "F"))) "holds" (Bool (Set it ($#k1_funct_1 :::"."::: ) (Set (Var "x"))) ($#r1_hidden :::"="::: ) (Set (Set "(" "F" ($#k1_funct_1 :::"."::: ) (Set (Var "x")) ")" ) ($#k1_funct_1 :::"."::: ) (Set "(" "f" ($#k1_funct_1 :::"."::: ) (Set (Var "x")) ")" ))) ")" ) ")" ); end; :: deftheorem defines :::".."::: PRALG_1:def 17 : (Bool "for" (Set (Var "F")) "being" ($#v1_funcop_1 :::"Function-yielding"::: ) ($#m1_hidden :::"Function":::) (Bool "for" (Set (Var "f")) "," (Set (Var "b3")) "being" ($#m1_hidden :::"Function":::) "holds" (Bool "(" (Bool (Set (Var "b3")) ($#r1_hidden :::"="::: ) (Set (Set (Var "F")) ($#k15_pralg_1 :::".."::: ) (Set (Var "f")))) "iff" (Bool "(" (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "b3"))) ($#r1_hidden :::"="::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "F")))) & (Bool "(" "for" (Set (Var "x")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "F"))))) "holds" (Bool (Set (Set (Var "b3")) ($#k1_funct_1 :::"."::: ) (Set (Var "x"))) ($#r1_hidden :::"="::: ) (Set (Set "(" (Set (Var "F")) ($#k1_funct_1 :::"."::: ) (Set (Var "x")) ")" ) ($#k1_funct_1 :::"."::: ) (Set "(" (Set (Var "f")) ($#k1_funct_1 :::"."::: ) (Set (Var "x")) ")" ))) ")" ) ")" ) ")" ))); registrationlet "I" be ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_hidden :::"ManySortedFunction":::) "of" (Set (Const "I")); let "x" be ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "I")); cluster (Set "f" ($#k15_pralg_1 :::".."::: ) "x") -> "I" ($#v4_relat_1 :::"-defined"::: ) ; end; registrationlet "I" be ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_hidden :::"ManySortedFunction":::) "of" (Set (Const "I")); let "x" be ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "I")); cluster (Set "f" ($#k15_pralg_1 :::".."::: ) "x") -> "I" ($#v4_relat_1 :::"-defined"::: ) ($#v1_partfun1 :::"total"::: ) for"I" ($#v4_relat_1 :::"-defined"::: ) ($#m1_hidden :::"Function":::); end; definitionlet "I" be ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_hidden :::"ManySortedFunction":::) "of" (Set (Const "I")); let "x" be ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "I")); :: original: :::".."::: redefine func "f" :::".."::: "x" -> ($#m1_hidden :::"Function":::) means :: PRALG_1:def 18 (Bool "(" (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) it) ($#r1_hidden :::"="::: ) "I") & (Bool "(" "for" (Set (Var "i")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) "I")) "holds" (Bool "for" (Set (Var "g")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "g")) ($#r1_hidden :::"="::: ) (Set "f" ($#k1_funct_1 :::"."::: ) (Set (Var "i"))))) "holds" (Bool (Set it ($#k1_funct_1 :::"."::: ) (Set (Var "i"))) ($#r1_hidden :::"="::: ) (Set (Set (Var "g")) ($#k1_funct_1 :::"."::: ) (Set "(" "x" ($#k1_funct_1 :::"."::: ) (Set (Var "i")) ")" )))) ")" ) ")" ); end; :: deftheorem defines :::".."::: PRALG_1:def 18 : (Bool "for" (Set (Var "I")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "f")) "being" ($#m1_hidden :::"ManySortedFunction":::) "of" (Set (Var "I")) (Bool "for" (Set (Var "x")) "being" ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "I")) (Bool "for" (Set (Var "b4")) "being" ($#m1_hidden :::"Function":::) "holds" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set (Set (Var "f")) ($#k16_pralg_1 :::".."::: ) (Set (Var "x")))) "iff" (Bool "(" (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "b4"))) ($#r1_hidden :::"="::: ) (Set (Var "I"))) & (Bool "(" "for" (Set (Var "i")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set (Var "I")))) "holds" (Bool "for" (Set (Var "g")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "g")) ($#r1_hidden :::"="::: ) (Set (Set (Var "f")) ($#k1_funct_1 :::"."::: ) (Set (Var "i"))))) "holds" (Bool (Set (Set (Var "b4")) ($#k1_funct_1 :::"."::: ) (Set (Var "i"))) ($#r1_hidden :::"="::: ) (Set (Set (Var "g")) ($#k1_funct_1 :::"."::: ) (Set "(" (Set (Var "x")) ($#k1_funct_1 :::"."::: ) (Set (Var "i")) ")" )))) ")" ) ")" ) ")" ))))); registrationlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "B" be bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); let "p" be ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set ($#k4_card_3 :::"product"::: ) (Set (Const "B"))); cluster (Set ($#k2_funct_5 :::"uncurry"::: ) "p") -> (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "(" ($#k4_finseq_1 :::"dom"::: ) "p" ")" ) "," "J" ($#k2_zfmisc_1 :::":]"::: ) ) ($#v4_relat_1 :::"-defined"::: ) ; end; registrationlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "B" be bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); let "p" be ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set ($#k4_card_3 :::"product"::: ) (Set (Const "B"))); cluster (Set ($#k2_funct_5 :::"uncurry"::: ) "p") -> (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "(" ($#k4_finseq_1 :::"dom"::: ) "p" ")" ) "," "J" ($#k2_zfmisc_1 :::":]"::: ) ) ($#v4_relat_1 :::"-defined"::: ) ($#v1_partfun1 :::"total"::: ) for(Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "(" ($#k4_finseq_1 :::"dom"::: ) "p" ")" ) "," "J" ($#k2_zfmisc_1 :::":]"::: ) ) ($#v4_relat_1 :::"-defined"::: ) ($#m1_hidden :::"Function":::); end; registrationlet "I", "J" be ($#m1_hidden :::"set"::: ) ; let "X" be ($#m1_hidden :::"ManySortedSet":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Const "I")) "," (Set (Const "J")) ($#k2_zfmisc_1 :::":]"::: ) ); cluster (Set ($#k2_funct_4 :::"~"::: ) "X") -> (Set ($#k2_zfmisc_1 :::"[:"::: ) "J" "," "I" ($#k2_zfmisc_1 :::":]"::: ) ) ($#v4_relat_1 :::"-defined"::: ) ; end; registrationlet "I", "J" be ($#m1_hidden :::"set"::: ) ; let "X" be ($#m1_hidden :::"ManySortedSet":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Const "I")) "," (Set (Const "J")) ($#k2_zfmisc_1 :::":]"::: ) ); cluster (Set ($#k2_funct_4 :::"~"::: ) "X") -> (Set ($#k2_zfmisc_1 :::"[:"::: ) "J" "," "I" ($#k2_zfmisc_1 :::":]"::: ) ) ($#v4_relat_1 :::"-defined"::: ) ($#v1_partfun1 :::"total"::: ) for(Set ($#k2_zfmisc_1 :::"[:"::: ) "J" "," "I" ($#k2_zfmisc_1 :::":]"::: ) ) ($#v4_relat_1 :::"-defined"::: ) ($#m1_hidden :::"Function":::); end; registrationlet "X" be ($#m1_hidden :::"set"::: ) ; let "Y" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_hidden :::"ManySortedSet":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Const "X")) "," (Set (Const "Y")) ($#k2_zfmisc_1 :::":]"::: ) ); cluster (Set ($#k1_funct_5 :::"curry"::: ) "f") -> "X" ($#v4_relat_1 :::"-defined"::: ) ; end; registrationlet "X" be ($#m1_hidden :::"set"::: ) ; let "Y" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_hidden :::"ManySortedSet":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Const "X")) "," (Set (Const "Y")) ($#k2_zfmisc_1 :::":]"::: ) ); cluster (Set ($#k1_funct_5 :::"curry"::: ) "f") -> "X" ($#v4_relat_1 :::"-defined"::: ) ($#v1_partfun1 :::"total"::: ) for"X" ($#v4_relat_1 :::"-defined"::: ) ($#m1_hidden :::"Function":::); end; definitionlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "B" be bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); let "O" be ($#v4_pralg_1 :::"equal-arity"::: ) ($#m1_pralg_1 :::"ManySortedOperation"::: ) "of" (Set (Const "B")); func :::"ComAr"::: "O" -> ($#m1_hidden :::"Nat":::) means :: PRALG_1:def 19 (Bool "for" (Set (Var "j")) "being" ($#m1_subset_1 :::"Element"::: ) "of" "J" "holds" (Bool it ($#r1_hidden :::"="::: ) (Set ($#k19_margrel1 :::"arity"::: ) (Set "(" "O" ($#k14_pralg_1 :::"."::: ) (Set (Var "j")) ")" )))); end; :: deftheorem defines :::"ComAr"::: PRALG_1:def 19 : (Bool "for" (Set (Var "J")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "B")) "being" bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "J")) (Bool "for" (Set (Var "O")) "being" ($#v4_pralg_1 :::"equal-arity"::: ) ($#m1_pralg_1 :::"ManySortedOperation"::: ) "of" (Set (Var "B")) (Bool "for" (Set (Var "b4")) "being" ($#m1_hidden :::"Nat":::) "holds" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k17_pralg_1 :::"ComAr"::: ) (Set (Var "O")))) "iff" (Bool "for" (Set (Var "j")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "J")) "holds" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k19_margrel1 :::"arity"::: ) (Set "(" (Set (Var "O")) ($#k14_pralg_1 :::"."::: ) (Set (Var "j")) ")" )))) ")" ))))); definitionlet "I" be ($#m1_hidden :::"set"::: ) ; let "A" be ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "I")); func :::"EmptySeq"::: "A" -> ($#m1_hidden :::"ManySortedSet":::) "of" "I" means :: PRALG_1:def 20 (Bool "for" (Set (Var "i")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) "I")) "holds" (Bool (Set it ($#k1_funct_1 :::"."::: ) (Set (Var "i"))) ($#r1_hidden :::"="::: ) (Set ($#k1_subset_1 :::"{}"::: ) (Set "(" "A" ($#k1_funct_1 :::"."::: ) (Set (Var "i")) ")" )))); end; :: deftheorem defines :::"EmptySeq"::: PRALG_1:def 20 : (Bool "for" (Set (Var "I")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "A")) "," (Set (Var "b3")) "being" ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "I")) "holds" (Bool "(" (Bool (Set (Var "b3")) ($#r1_hidden :::"="::: ) (Set ($#k18_pralg_1 :::"EmptySeq"::: ) (Set (Var "A")))) "iff" (Bool "for" (Set (Var "i")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set (Var "I")))) "holds" (Bool (Set (Set (Var "b3")) ($#k1_funct_1 :::"."::: ) (Set (Var "i"))) ($#r1_hidden :::"="::: ) (Set ($#k1_subset_1 :::"{}"::: ) (Set "(" (Set (Var "A")) ($#k1_funct_1 :::"."::: ) (Set (Var "i")) ")" )))) ")" ))); definitionlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "B" be bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); let "O" be ($#v4_pralg_1 :::"equal-arity"::: ) ($#m1_pralg_1 :::"ManySortedOperation"::: ) "of" (Set (Const "B")); func :::"[[:":::"O":::":]]"::: -> ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set "(" ($#k4_card_3 :::"product"::: ) "B" ")" ) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set "(" ($#k4_card_3 :::"product"::: ) "B" ")" ) means :: PRALG_1:def 21 (Bool "(" (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) it) ($#r1_hidden :::"="::: ) (Set (Set "(" ($#k17_pralg_1 :::"ComAr"::: ) "O" ")" ) ($#k4_finseq_2 :::"-tuples_on"::: ) (Set "(" ($#k4_card_3 :::"product"::: ) "B" ")" ))) & (Bool "(" "for" (Set (Var "p")) "being" ($#m2_finseq_2 :::"Element"::: ) "of" (Set (Set "(" ($#k4_card_3 :::"product"::: ) "B" ")" ) ($#k3_finseq_2 :::"*"::: ) ) "st" (Bool (Bool (Set (Var "p")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) it))) "holds" (Bool "(" "(" (Bool (Bool (Set ($#k4_finseq_1 :::"dom"::: ) (Set (Var "p"))) ($#r1_hidden :::"="::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ))) "implies" (Bool (Set it ($#k1_funct_1 :::"."::: ) (Set (Var "p"))) ($#r1_hidden :::"="::: ) (Set "O" ($#k16_pralg_1 :::".."::: ) (Set "(" ($#k18_pralg_1 :::"EmptySeq"::: ) "B" ")" ))) ")" & "(" (Bool (Bool (Set ($#k4_finseq_1 :::"dom"::: ) (Set (Var "p"))) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ))) "implies" (Bool "for" (Set (Var "Z")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "w")) "being" ($#m1_hidden :::"ManySortedSet":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) "J" "," (Set (Var "Z")) ($#k2_zfmisc_1 :::":]"::: ) ) "st" (Bool (Bool (Set (Var "Z")) ($#r1_hidden :::"="::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set (Var "p")))) & (Bool (Set (Var "w")) ($#r1_hidden :::"="::: ) (Set ($#k2_funct_4 :::"~"::: ) (Set "(" ($#k2_funct_5 :::"uncurry"::: ) (Set (Var "p")) ")" )))) "holds" (Bool (Set it ($#k1_funct_1 :::"."::: ) (Set (Var "p"))) ($#r1_hidden :::"="::: ) (Set "O" ($#k16_pralg_1 :::".."::: ) (Set "(" ($#k1_funct_5 :::"curry"::: ) (Set (Var "w")) ")" ))))) ")" ")" ) ")" ) ")" ); end; :: deftheorem defines :::"[[:"::: PRALG_1:def 21 : (Bool "for" (Set (Var "J")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "B")) "being" bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "J")) (Bool "for" (Set (Var "O")) "being" ($#v4_pralg_1 :::"equal-arity"::: ) ($#m1_pralg_1 :::"ManySortedOperation"::: ) "of" (Set (Var "B")) (Bool "for" (Set (Var "b4")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v2_margrel1 :::"homogeneous"::: ) ($#v3_margrel1 :::"quasi_total"::: ) ($#m1_subset_1 :::"PartFunc":::) "of" (Set "(" (Set "(" ($#k4_card_3 :::"product"::: ) (Set (Var "B")) ")" ) ($#k3_finseq_2 :::"*"::: ) ")" ) "," (Set "(" ($#k4_card_3 :::"product"::: ) (Set (Var "B")) ")" ) "holds" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k19_pralg_1 :::"[[:"::: ) (Set (Var "O")) ($#k19_pralg_1 :::":]]"::: ) )) "iff" (Bool "(" (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "b4"))) ($#r1_hidden :::"="::: ) (Set (Set "(" ($#k17_pralg_1 :::"ComAr"::: ) (Set (Var "O")) ")" ) ($#k4_finseq_2 :::"-tuples_on"::: ) (Set "(" ($#k4_card_3 :::"product"::: ) (Set (Var "B")) ")" ))) & (Bool "(" "for" (Set (Var "p")) "being" ($#m2_finseq_2 :::"Element"::: ) "of" (Set (Set "(" ($#k4_card_3 :::"product"::: ) (Set (Var "B")) ")" ) ($#k3_finseq_2 :::"*"::: ) ) "st" (Bool (Bool (Set (Var "p")) ($#r2_hidden :::"in"::: ) (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "b4"))))) "holds" (Bool "(" "(" (Bool (Bool (Set ($#k4_finseq_1 :::"dom"::: ) (Set (Var "p"))) ($#r1_hidden :::"="::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ))) "implies" (Bool (Set (Set (Var "b4")) ($#k1_funct_1 :::"."::: ) (Set (Var "p"))) ($#r1_hidden :::"="::: ) (Set (Set (Var "O")) ($#k16_pralg_1 :::".."::: ) (Set "(" ($#k18_pralg_1 :::"EmptySeq"::: ) (Set (Var "B")) ")" ))) ")" & "(" (Bool (Bool (Set ($#k4_finseq_1 :::"dom"::: ) (Set (Var "p"))) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ))) "implies" (Bool "for" (Set (Var "Z")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "w")) "being" ($#m1_hidden :::"ManySortedSet":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "J")) "," (Set (Var "Z")) ($#k2_zfmisc_1 :::":]"::: ) ) "st" (Bool (Bool (Set (Var "Z")) ($#r1_hidden :::"="::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set (Var "p")))) & (Bool (Set (Var "w")) ($#r1_hidden :::"="::: ) (Set ($#k2_funct_4 :::"~"::: ) (Set "(" ($#k2_funct_5 :::"uncurry"::: ) (Set (Var "p")) ")" )))) "holds" (Bool (Set (Set (Var "b4")) ($#k1_funct_1 :::"."::: ) (Set (Var "p"))) ($#r1_hidden :::"="::: ) (Set (Set (Var "O")) ($#k16_pralg_1 :::".."::: ) (Set "(" ($#k1_funct_5 :::"curry"::: ) (Set (Var "w")) ")" ))))) ")" ")" ) ")" ) ")" ) ")" ))))); definitionlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "A" be ($#v1_pralg_1 :::"Univ_Alg-yielding"::: ) ($#v3_pralg_1 :::"equal-signature"::: ) ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); let "n" be ($#m1_hidden :::"Nat":::); assume (Bool (Set (Const "n")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "(" ($#k13_pralg_1 :::"ComSign"::: ) (Set (Const "A")) ")" ))) ; func :::"ProdOp"::: "(" "A" "," "n" ")" -> ($#v4_pralg_1 :::"equal-arity"::: ) ($#m1_pralg_1 :::"ManySortedOperation"::: ) "of" (Set ($#k12_pralg_1 :::"Carrier"::: ) "A") means :: PRALG_1:def 22 (Bool "for" (Set (Var "j")) "being" ($#m1_subset_1 :::"Element"::: ) "of" "J" (Bool "for" (Set (Var "o")) "being" ($#m5_margrel1 :::"operation":::) "of" (Set "(" "A" ($#k11_pralg_1 :::"."::: ) (Set (Var "j")) ")" ) "st" (Bool (Bool (Set (Set "the" ($#u1_unialg_1 :::"charact"::: ) "of" (Set "(" "A" ($#k11_pralg_1 :::"."::: ) (Set (Var "j")) ")" )) ($#k1_funct_1 :::"."::: ) "n") ($#r1_hidden :::"="::: ) (Set (Var "o")))) "holds" (Bool (Set it ($#k14_pralg_1 :::"."::: ) (Set (Var "j"))) ($#r1_hidden :::"="::: ) (Set (Var "o"))))); end; :: deftheorem defines :::"ProdOp"::: PRALG_1:def 22 : (Bool "for" (Set (Var "J")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "A")) "being" ($#v1_pralg_1 :::"Univ_Alg-yielding"::: ) ($#v3_pralg_1 :::"equal-signature"::: ) ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "J")) (Bool "for" (Set (Var "n")) "being" ($#m1_hidden :::"Nat":::) "st" (Bool (Bool (Set (Var "n")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "(" ($#k13_pralg_1 :::"ComSign"::: ) (Set (Var "A")) ")" )))) "holds" (Bool "for" (Set (Var "b4")) "being" ($#v4_pralg_1 :::"equal-arity"::: ) ($#m1_pralg_1 :::"ManySortedOperation"::: ) "of" (Set ($#k12_pralg_1 :::"Carrier"::: ) (Set (Var "A"))) "holds" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k20_pralg_1 :::"ProdOp"::: ) "(" (Set (Var "A")) "," (Set (Var "n")) ")" )) "iff" (Bool "for" (Set (Var "j")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "J")) (Bool "for" (Set (Var "o")) "being" ($#m5_margrel1 :::"operation":::) "of" (Set "(" (Set (Var "A")) ($#k11_pralg_1 :::"."::: ) (Set (Var "j")) ")" ) "st" (Bool (Bool (Set (Set "the" ($#u1_unialg_1 :::"charact"::: ) "of" (Set "(" (Set (Var "A")) ($#k11_pralg_1 :::"."::: ) (Set (Var "j")) ")" )) ($#k1_funct_1 :::"."::: ) (Set (Var "n"))) ($#r1_hidden :::"="::: ) (Set (Var "o")))) "holds" (Bool (Set (Set (Var "b4")) ($#k14_pralg_1 :::"."::: ) (Set (Var "j"))) ($#r1_hidden :::"="::: ) (Set (Var "o"))))) ")" ))))); definitionlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "A" be ($#v1_pralg_1 :::"Univ_Alg-yielding"::: ) ($#v3_pralg_1 :::"equal-signature"::: ) ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); func :::"ProdOpSeq"::: "A" -> ($#m2_finseq_1 :::"PFuncFinSequence":::) "of" (Set "(" ($#k4_card_3 :::"product"::: ) (Set "(" ($#k12_pralg_1 :::"Carrier"::: ) "A" ")" ) ")" ) means :: PRALG_1:def 23 (Bool "(" (Bool (Set ($#k3_finseq_1 :::"len"::: ) it) ($#r1_hidden :::"="::: ) (Set ($#k3_finseq_1 :::"len"::: ) (Set "(" ($#k13_pralg_1 :::"ComSign"::: ) "A" ")" ))) & (Bool "(" "for" (Set (Var "n")) "being" ($#m1_hidden :::"Nat":::) "st" (Bool (Bool (Set (Var "n")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) it))) "holds" (Bool (Set it ($#k1_funct_1 :::"."::: ) (Set (Var "n"))) ($#r1_hidden :::"="::: ) (Set ($#k19_pralg_1 :::"[[:"::: ) (Set "(" ($#k20_pralg_1 :::"ProdOp"::: ) "(" "A" "," (Set (Var "n")) ")" ")" ) ($#k19_pralg_1 :::":]]"::: ) )) ")" ) ")" ); end; :: deftheorem defines :::"ProdOpSeq"::: PRALG_1:def 23 : (Bool "for" (Set (Var "J")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "A")) "being" ($#v1_pralg_1 :::"Univ_Alg-yielding"::: ) ($#v3_pralg_1 :::"equal-signature"::: ) ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "J")) (Bool "for" (Set (Var "b3")) "being" ($#m2_finseq_1 :::"PFuncFinSequence":::) "of" (Set "(" ($#k4_card_3 :::"product"::: ) (Set "(" ($#k12_pralg_1 :::"Carrier"::: ) (Set (Var "A")) ")" ) ")" ) "holds" (Bool "(" (Bool (Set (Var "b3")) ($#r1_hidden :::"="::: ) (Set ($#k21_pralg_1 :::"ProdOpSeq"::: ) (Set (Var "A")))) "iff" (Bool "(" (Bool (Set ($#k3_finseq_1 :::"len"::: ) (Set (Var "b3"))) ($#r1_hidden :::"="::: ) (Set ($#k3_finseq_1 :::"len"::: ) (Set "(" ($#k13_pralg_1 :::"ComSign"::: ) (Set (Var "A")) ")" ))) & (Bool "(" "for" (Set (Var "n")) "being" ($#m1_hidden :::"Nat":::) "st" (Bool (Bool (Set (Var "n")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set (Var "b3"))))) "holds" (Bool (Set (Set (Var "b3")) ($#k1_funct_1 :::"."::: ) (Set (Var "n"))) ($#r1_hidden :::"="::: ) (Set ($#k19_pralg_1 :::"[[:"::: ) (Set "(" ($#k20_pralg_1 :::"ProdOp"::: ) "(" (Set (Var "A")) "," (Set (Var "n")) ")" ")" ) ($#k19_pralg_1 :::":]]"::: ) )) ")" ) ")" ) ")" )))); definitionlet "J" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "A" be ($#v1_pralg_1 :::"Univ_Alg-yielding"::: ) ($#v3_pralg_1 :::"equal-signature"::: ) ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "J")); func :::"ProdUnivAlg"::: "A" -> ($#v1_unialg_1 :::"strict"::: ) ($#l1_unialg_1 :::"Universal_Algebra":::) equals :: PRALG_1:def 24 (Set ($#g1_unialg_1 :::"UAStr"::: ) "(#" (Set "(" ($#k4_card_3 :::"product"::: ) (Set "(" ($#k12_pralg_1 :::"Carrier"::: ) "A" ")" ) ")" ) "," (Set "(" ($#k21_pralg_1 :::"ProdOpSeq"::: ) "A" ")" ) "#)" ); end; :: deftheorem defines :::"ProdUnivAlg"::: PRALG_1:def 24 : (Bool "for" (Set (Var "J")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "A")) "being" ($#v1_pralg_1 :::"Univ_Alg-yielding"::: ) ($#v3_pralg_1 :::"equal-signature"::: ) ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "J")) "holds" (Bool (Set ($#k22_pralg_1 :::"ProdUnivAlg"::: ) (Set (Var "A"))) ($#r1_hidden :::"="::: ) (Set ($#g1_unialg_1 :::"UAStr"::: ) "(#" (Set "(" ($#k4_card_3 :::"product"::: ) (Set "(" ($#k12_pralg_1 :::"Carrier"::: ) (Set (Var "A")) ")" ) ")" ) "," (Set "(" ($#k21_pralg_1 :::"ProdOpSeq"::: ) (Set (Var "A")) ")" ) "#)" ))));