:: MONOID_1 semantic presentation begin definitionlet "f" be ($#m1_hidden :::"Function":::); let "x1", "x2", "y" be ($#m1_hidden :::"set"::: ) ; func "f" :::".."::: "(" "x1" "," "x2" "," "y" ")" -> ($#m1_hidden :::"set"::: ) equals :: MONOID_1:def 1 (Set "f" ($#k5_funct_6 :::".."::: ) "(" (Set ($#k4_tarski :::"["::: ) "x1" "," "x2" ($#k4_tarski :::"]"::: ) ) "," "y" ")" ); end; :: deftheorem defines :::".."::: MONOID_1:def 1 : (Bool "for" (Set (Var "f")) "being" ($#m1_hidden :::"Function":::) (Bool "for" (Set (Var "x1")) "," (Set (Var "x2")) "," (Set (Var "y")) "being" ($#m1_hidden :::"set"::: ) "holds" (Bool (Set (Set (Var "f")) ($#k1_monoid_1 :::".."::: ) "(" (Set (Var "x1")) "," (Set (Var "x2")) "," (Set (Var "y")) ")" ) ($#r1_hidden :::"="::: ) (Set (Set (Var "f")) ($#k5_funct_6 :::".."::: ) "(" (Set ($#k4_tarski :::"["::: ) (Set (Var "x1")) "," (Set (Var "x2")) ($#k4_tarski :::"]"::: ) ) "," (Set (Var "y")) ")" )))); definitionlet "A", "D1", "D2", "D" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Const "D1")) "," (Set (Const "D2")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set "(" ($#k9_funct_2 :::"Funcs"::: ) "(" (Set (Const "A")) "," (Set (Const "D")) ")" ")" ); let "x1" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "D1")); let "x2" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "D2")); let "x" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "A")); :: original: :::".."::: redefine func "f" :::".."::: "(" "x1" "," "x2" "," "x" ")" -> ($#m1_subset_1 :::"Element"::: ) "of" "D"; end; definitionlet "A" be ($#m1_hidden :::"set"::: ) ; let "D1", "D2", "D" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Const "D1")) "," (Set (Const "D2")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set (Const "D")); let "g1" be ($#m1_subset_1 :::"Function":::) "of" (Set (Const "A")) "," (Set (Const "D1")); let "g2" be ($#m1_subset_1 :::"Function":::) "of" (Set (Const "A")) "," (Set (Const "D2")); :: original: :::".:"::: redefine func "f" :::".:"::: "(" "g1" "," "g2" ")" -> ($#m2_funct_2 :::"Element"::: ) "of" (Set ($#k9_funct_2 :::"Funcs"::: ) "(" "A" "," "D" ")" ); end; notationlet "A" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "n" be ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ); let "x" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "A")); synonym "n" :::".-->"::: "x" for "A" :::"|->"::: "n"; end; definitionlet "A" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "n" be ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ); let "x" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "A")); :: original: :::".-->"::: redefine func "n" :::".-->"::: "x" -> ($#m2_finseq_1 :::"FinSequence"::: ) "of" "A"; end; definitionlet "D" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "A" be ($#m1_hidden :::"set"::: ) ; let "d" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "D")); :: original: :::"-->"::: redefine func "A" :::"-->"::: "d" -> ($#m2_funct_2 :::"Element"::: ) "of" (Set ($#k9_funct_2 :::"Funcs"::: ) "(" "A" "," "D" ")" ); end; definitionlet "A" be ($#m1_hidden :::"set"::: ) ; let "D1", "D2", "D" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Const "D1")) "," (Set (Const "D2")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set (Const "D")); let "d" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "D1")); let "g" be ($#m1_subset_1 :::"Function":::) "of" (Set (Const "A")) "," (Set (Const "D2")); :: original: :::"[;]"::: redefine func "f" :::"[;]"::: "(" "d" "," "g" ")" -> ($#m2_funct_2 :::"Element"::: ) "of" (Set ($#k9_funct_2 :::"Funcs"::: ) "(" "A" "," "D" ")" ); end; definitionlet "A" be ($#m1_hidden :::"set"::: ) ; let "D1", "D2", "D" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Const "D1")) "," (Set (Const "D2")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set (Const "D")); let "g" be ($#m1_subset_1 :::"Function":::) "of" (Set (Const "A")) "," (Set (Const "D1")); let "d" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "D2")); :: original: :::"[:]"::: redefine func "f" :::"[:]"::: "(" "g" "," "d" ")" -> ($#m2_funct_2 :::"Element"::: ) "of" (Set ($#k9_funct_2 :::"Funcs"::: ) "(" "A" "," "D" ")" ); end; theorem :: MONOID_1:1 (Bool "for" (Set (Var "f")) "," (Set (Var "g")) "being" ($#m1_hidden :::"Function":::) (Bool "for" (Set (Var "X")) "being" ($#m1_hidden :::"set"::: ) "holds" (Bool (Set (Set "(" (Set (Var "f")) ($#k5_relat_1 :::"|"::: ) (Set (Var "X")) ")" ) ($#k3_relat_1 :::"*"::: ) (Set (Var "g"))) ($#r1_hidden :::"="::: ) (Set (Set (Var "f")) ($#k3_relat_1 :::"*"::: ) (Set "(" (Set (Var "X")) ($#k6_relat_1 :::"|`"::: ) (Set (Var "g")) ")" ))))) ; scheme :: MONOID_1:sch 1 NonUniqFuncDEx{ F1() -> ($#m1_hidden :::"set"::: ) , F2() -> ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) , P1[ ($#m1_hidden :::"set"::: ) "," ($#m1_hidden :::"set"::: ) ] } : (Bool "ex" (Set (Var "f")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set F1 "(" ")" ) "," (Set F2 "(" ")" ) "st" (Bool "for" (Set (Var "x")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set F1 "(" ")" ))) "holds" (Bool P1[(Set (Var "x")) "," (Set (Set (Var "f")) ($#k1_funct_1 :::"."::: ) (Set (Var "x")))]))) provided (Bool "for" (Set (Var "x")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set F1 "(" ")" ))) "holds" (Bool "ex" (Set (Var "y")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set F2 "(" ")" ) "st" (Bool P1[(Set (Var "x")) "," (Set (Var "y"))]))) proof end; begin definitionlet "D1", "D2", "D" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Const "D1")) "," (Set (Const "D2")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set (Const "D")); let "A" be ($#m1_hidden :::"set"::: ) ; func "(" "f" "," "D" ")" :::".:"::: "A" -> ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "(" ($#k9_funct_2 :::"Funcs"::: ) "(" "A" "," "D1" ")" ")" ) "," (Set "(" ($#k9_funct_2 :::"Funcs"::: ) "(" "A" "," "D2" ")" ")" ) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set "(" ($#k9_funct_2 :::"Funcs"::: ) "(" "A" "," "D" ")" ")" ) means :: MONOID_1:def 2 (Bool "for" (Set (Var "f1")) "being" ($#m2_funct_2 :::"Element"::: ) "of" (Set ($#k9_funct_2 :::"Funcs"::: ) "(" "A" "," "D1" ")" ) (Bool "for" (Set (Var "f2")) "being" ($#m2_funct_2 :::"Element"::: ) "of" (Set ($#k9_funct_2 :::"Funcs"::: ) "(" "A" "," "D2" ")" ) "holds" (Bool (Set it ($#k2_binop_1 :::"."::: ) "(" (Set (Var "f1")) "," (Set (Var "f2")) ")" ) ($#r1_hidden :::"="::: ) (Set "f" ($#k3_monoid_1 :::".:"::: ) "(" (Set (Var "f1")) "," (Set (Var "f2")) ")" )))); end; :: deftheorem defines :::".:"::: MONOID_1:def 2 : (Bool "for" (Set (Var "D1")) "," (Set (Var "D2")) "," (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "D1")) "," (Set (Var "D2")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set (Var "D")) (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "b6")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "(" ($#k9_funct_2 :::"Funcs"::: ) "(" (Set (Var "A")) "," (Set (Var "D1")) ")" ")" ) "," (Set "(" ($#k9_funct_2 :::"Funcs"::: ) "(" (Set (Var "A")) "," (Set (Var "D2")) ")" ")" ) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set "(" ($#k9_funct_2 :::"Funcs"::: ) "(" (Set (Var "A")) "," (Set (Var "D")) ")" ")" ) "holds" (Bool "(" (Bool (Set (Var "b6")) ($#r1_hidden :::"="::: ) (Set "(" (Set (Var "f")) "," (Set (Var "D")) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A")))) "iff" (Bool "for" (Set (Var "f1")) "being" ($#m2_funct_2 :::"Element"::: ) "of" (Set ($#k9_funct_2 :::"Funcs"::: ) "(" (Set (Var "A")) "," (Set (Var "D1")) ")" ) (Bool "for" (Set (Var "f2")) "being" ($#m2_funct_2 :::"Element"::: ) "of" (Set ($#k9_funct_2 :::"Funcs"::: ) "(" (Set (Var "A")) "," (Set (Var "D2")) ")" ) "holds" (Bool (Set (Set (Var "b6")) ($#k2_binop_1 :::"."::: ) "(" (Set (Var "f1")) "," (Set (Var "f2")) ")" ) ($#r1_hidden :::"="::: ) (Set (Set (Var "f")) ($#k3_monoid_1 :::".:"::: ) "(" (Set (Var "f1")) "," (Set (Var "f2")) ")" )))) ")" ))))); theorem :: MONOID_1:2 (Bool "for" (Set (Var "D1")) "," (Set (Var "D2")) "," (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "D1")) "," (Set (Var "D2")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set (Var "D")) (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "f1")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set (Var "A")) "," (Set (Var "D1")) (Bool "for" (Set (Var "f2")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set (Var "A")) "," (Set (Var "D2")) (Bool "for" (Set (Var "x")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set (Var "A")))) "holds" (Bool (Set (Set "(" "(" (Set (Var "f")) "," (Set (Var "D")) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A")) ")" ) ($#k1_monoid_1 :::".."::: ) "(" (Set (Var "f1")) "," (Set (Var "f2")) "," (Set (Var "x")) ")" ) ($#r1_hidden :::"="::: ) (Set (Set (Var "f")) ($#k1_binop_1 :::"."::: ) "(" (Set "(" (Set (Var "f1")) ($#k1_funct_1 :::"."::: ) (Set (Var "x")) ")" ) "," (Set "(" (Set (Var "f2")) ($#k1_funct_1 :::"."::: ) (Set (Var "x")) ")" ) ")" )))))))) ; theorem :: MONOID_1:3 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) (Bool "for" (Set (Var "f")) "," (Set (Var "g")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set (Var "A")) "," (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v1_binop_1 :::"commutative"::: ) )) "holds" (Bool (Set (Set (Var "o")) ($#k3_monoid_1 :::".:"::: ) "(" (Set (Var "f")) "," (Set (Var "g")) ")" ) ($#r2_funct_2 :::"="::: ) (Set (Set (Var "o")) ($#k3_monoid_1 :::".:"::: ) "(" (Set (Var "g")) "," (Set (Var "f")) ")" )))))) ; theorem :: MONOID_1:4 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) (Bool "for" (Set (Var "f")) "," (Set (Var "g")) "," (Set (Var "h")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set (Var "A")) "," (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v2_binop_1 :::"associative"::: ) )) "holds" (Bool (Set (Set (Var "o")) ($#k3_monoid_1 :::".:"::: ) "(" (Set "(" (Set (Var "o")) ($#k3_monoid_1 :::".:"::: ) "(" (Set (Var "f")) "," (Set (Var "g")) ")" ")" ) "," (Set (Var "h")) ")" ) ($#r2_funct_2 :::"="::: ) (Set (Set (Var "o")) ($#k3_monoid_1 :::".:"::: ) "(" (Set (Var "f")) "," (Set "(" (Set (Var "o")) ($#k3_monoid_1 :::".:"::: ) "(" (Set (Var "g")) "," (Set (Var "h")) ")" ")" ) ")" )))))) ; theorem :: MONOID_1:5 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "D")) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set (Var "A")) "," (Set (Var "D")) "st" (Bool (Bool (Set (Var "a")) ($#r3_binop_1 :::"is_a_unity_wrt"::: ) (Set (Var "o")))) "holds" (Bool "(" (Bool (Set (Set (Var "o")) ($#k6_monoid_1 :::"[;]"::: ) "(" (Set (Var "a")) "," (Set (Var "f")) ")" ) ($#r2_funct_2 :::"="::: ) (Set (Var "f"))) & (Bool (Set (Set (Var "o")) ($#k7_monoid_1 :::"[:]"::: ) "(" (Set (Var "f")) "," (Set (Var "a")) ")" ) ($#r2_funct_2 :::"="::: ) (Set (Var "f"))) ")" )))))) ; theorem :: MONOID_1:6 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set (Var "A")) "," (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v3_binop_1 :::"idempotent"::: ) )) "holds" (Bool (Set (Set (Var "o")) ($#k3_monoid_1 :::".:"::: ) "(" (Set (Var "f")) "," (Set (Var "f")) ")" ) ($#r2_funct_2 :::"="::: ) (Set (Var "f"))))))) ; theorem :: MONOID_1:7 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v1_binop_1 :::"commutative"::: ) )) "holds" (Bool (Set "(" (Set (Var "o")) "," (Set (Var "D")) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A"))) "is" ($#v1_binop_1 :::"commutative"::: ) )))) ; theorem :: MONOID_1:8 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v2_binop_1 :::"associative"::: ) )) "holds" (Bool (Set "(" (Set (Var "o")) "," (Set (Var "D")) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A"))) "is" ($#v2_binop_1 :::"associative"::: ) )))) ; theorem :: MONOID_1:9 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "D")) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "a")) ($#r3_binop_1 :::"is_a_unity_wrt"::: ) (Set (Var "o")))) "holds" (Bool (Set (Set (Var "A")) ($#k5_monoid_1 :::"-->"::: ) (Set (Var "a"))) ($#r3_binop_1 :::"is_a_unity_wrt"::: ) (Set "(" (Set (Var "o")) "," (Set (Var "D")) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A")))))))) ; theorem :: MONOID_1:10 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v1_setwiseo :::"having_a_unity"::: ) )) "holds" (Bool "(" (Bool (Set ($#k4_binop_1 :::"the_unity_wrt"::: ) (Set "(" "(" (Set (Var "o")) "," (Set (Var "D")) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A")) ")" )) ($#r1_hidden :::"="::: ) (Set (Set (Var "A")) ($#k5_monoid_1 :::"-->"::: ) (Set "(" ($#k4_binop_1 :::"the_unity_wrt"::: ) (Set (Var "o")) ")" ))) & (Bool (Set "(" (Set (Var "o")) "," (Set (Var "D")) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A"))) "is" ($#v1_setwiseo :::"having_a_unity"::: ) ) ")" )))) ; theorem :: MONOID_1:11 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v3_binop_1 :::"idempotent"::: ) )) "holds" (Bool (Set "(" (Set (Var "o")) "," (Set (Var "D")) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A"))) "is" ($#v3_binop_1 :::"idempotent"::: ) )))) ; theorem :: MONOID_1:12 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v5_monoid_0 :::"invertible"::: ) )) "holds" (Bool (Set "(" (Set (Var "o")) "," (Set (Var "D")) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A"))) "is" ($#v5_monoid_0 :::"invertible"::: ) )))) ; theorem :: MONOID_1:13 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v8_monoid_0 :::"cancelable"::: ) )) "holds" (Bool (Set "(" (Set (Var "o")) "," (Set (Var "D")) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A"))) "is" ($#v8_monoid_0 :::"cancelable"::: ) )))) ; theorem :: MONOID_1:14 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v9_monoid_0 :::"uniquely-decomposable"::: ) )) "holds" (Bool (Set "(" (Set (Var "o")) "," (Set (Var "D")) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A"))) "is" ($#v9_monoid_0 :::"uniquely-decomposable"::: ) )))) ; theorem :: MONOID_1:15 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "," (Set (Var "o9")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) ($#r1_lattice2 :::"absorbs"::: ) (Set (Var "o9")))) "holds" (Bool (Set "(" (Set (Var "o")) "," (Set (Var "D")) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A"))) ($#r1_lattice2 :::"absorbs"::: ) (Set "(" (Set (Var "o9")) "," (Set (Var "D")) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A"))))))) ; theorem :: MONOID_1:16 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D1")) "," (Set (Var "D2")) "," (Set (Var "D")) "," (Set (Var "E1")) "," (Set (Var "E2")) "," (Set (Var "E")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o1")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "D1")) "," (Set (Var "D2")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set (Var "D")) (Bool "for" (Set (Var "o2")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "E1")) "," (Set (Var "E2")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set (Var "E")) "st" (Bool (Bool (Set (Var "o1")) ($#r1_relset_1 :::"c="::: ) (Set (Var "o2")))) "holds" (Bool (Set "(" (Set (Var "o1")) "," (Set (Var "D")) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A"))) ($#r1_relset_1 :::"c="::: ) (Set "(" (Set (Var "o2")) "," (Set (Var "E")) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A")))))))) ; definitionlet "G" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) ; let "A" be ($#m1_hidden :::"set"::: ) ; func :::".:"::: "(" "G" "," "A" ")" -> ($#l3_algstr_0 :::"multMagma"::: ) equals :: MONOID_1:def 3 (Set ($#g4_algstr_0 :::"multLoopStr"::: ) "(#" (Set "(" ($#k9_funct_2 :::"Funcs"::: ) "(" "A" "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "G") ")" ")" ) "," (Set "(" "(" (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" "G") "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "G") ")" ($#k8_monoid_1 :::".:"::: ) "A" ")" ) "," (Set "(" "A" ($#k5_monoid_1 :::"-->"::: ) (Set "(" ($#k4_binop_1 :::"the_unity_wrt"::: ) (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" "G") ")" ) ")" ) "#)" ) if (Bool "G" "is" ($#v1_group_1 :::"unital"::: ) ) otherwise (Set ($#g3_algstr_0 :::"multMagma"::: ) "(#" (Set "(" ($#k9_funct_2 :::"Funcs"::: ) "(" "A" "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "G") ")" ")" ) "," (Set "(" "(" (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" "G") "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "G") ")" ($#k8_monoid_1 :::".:"::: ) "A" ")" ) "#)" ); end; :: deftheorem defines :::".:"::: MONOID_1:def 3 : (Bool "for" (Set (Var "G")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) "holds" (Bool "(" "(" (Bool (Bool (Set (Var "G")) "is" ($#v1_group_1 :::"unital"::: ) )) "implies" (Bool (Set ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "A")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#g4_algstr_0 :::"multLoopStr"::: ) "(#" (Set "(" ($#k9_funct_2 :::"Funcs"::: ) "(" (Set (Var "A")) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "G"))) ")" ")" ) "," (Set "(" "(" (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" (Set (Var "G"))) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "G"))) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A")) ")" ) "," (Set "(" (Set (Var "A")) ($#k5_monoid_1 :::"-->"::: ) (Set "(" ($#k4_binop_1 :::"the_unity_wrt"::: ) (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" (Set (Var "G"))) ")" ) ")" ) "#)" )) ")" & "(" (Bool (Bool (Bool "not" (Set (Var "G")) "is" ($#v1_group_1 :::"unital"::: ) ))) "implies" (Bool (Set ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "A")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#g3_algstr_0 :::"multMagma"::: ) "(#" (Set "(" ($#k9_funct_2 :::"Funcs"::: ) "(" (Set (Var "A")) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "G"))) ")" ")" ) "," (Set "(" "(" (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" (Set (Var "G"))) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "G"))) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "A")) ")" ) "#)" )) ")" ")" ))); registrationlet "G" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) ; let "A" be ($#m1_hidden :::"set"::: ) ; cluster (Set ($#k9_monoid_1 :::".:"::: ) "(" "G" "," "A" ")" ) -> ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ; end; theorem :: MONOID_1:17 (Bool "for" (Set (Var "X")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "G")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) "holds" (Bool "(" (Bool (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set "(" ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "X")) ")" ")" )) ($#r1_hidden :::"="::: ) (Set ($#k9_funct_2 :::"Funcs"::: ) "(" (Set (Var "X")) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "G"))) ")" )) & (Bool (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" (Set "(" ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "X")) ")" ")" )) ($#r1_funct_2 :::"="::: ) (Set "(" (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" (Set (Var "G"))) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "G"))) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "X")))) ")" ))) ; theorem :: MONOID_1:18 (Bool "for" (Set (Var "x")) "," (Set (Var "X")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "G")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) "holds" (Bool "(" (Bool (Set (Var "x")) "is" ($#m1_subset_1 :::"Element":::) "of" (Set "(" ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "X")) ")" ")" )) "iff" (Bool (Set (Var "x")) "is" ($#m1_subset_1 :::"Function":::) "of" (Set (Var "X")) "," (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "G")))) ")" ))) ; registrationlet "G" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) ; let "A" be ($#m1_hidden :::"set"::: ) ; cluster (Set ($#k9_monoid_1 :::".:"::: ) "(" "G" "," "A" ")" ) -> ($#v1_monoid_0 :::"constituted-Functions"::: ) ; end; theorem :: MONOID_1:19 (Bool "for" (Set (Var "X")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "G")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set "(" ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "X")) ")" ")" ) "holds" (Bool "(" (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "f"))) ($#r1_hidden :::"="::: ) (Set (Var "X"))) & (Bool (Set ($#k10_xtuple_0 :::"rng"::: ) (Set (Var "f"))) ($#r1_tarski :::"c="::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "G")))) ")" )))) ; theorem :: MONOID_1:20 (Bool "for" (Set (Var "X")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "G")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) (Bool "for" (Set (Var "f")) "," (Set (Var "g")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set "(" ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "X")) ")" ")" ) "st" (Bool (Bool "(" "for" (Set (Var "x")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set (Var "X")))) "holds" (Bool (Set (Set (Var "f")) ($#k1_funct_1 :::"."::: ) (Set (Var "x"))) ($#r1_hidden :::"="::: ) (Set (Set (Var "g")) ($#k1_funct_1 :::"."::: ) (Set (Var "x")))) ")" )) "holds" (Bool (Set (Var "f")) ($#r1_hidden :::"="::: ) (Set (Var "g")))))) ; definitionlet "G" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) ; let "A" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_subset_1 :::"Element":::) "of" (Set "(" ($#k9_monoid_1 :::".:"::: ) "(" (Set (Const "G")) "," (Set (Const "A")) ")" ")" ); let "a" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "A")); :: original: :::"."::: redefine func "f" :::"."::: "a" -> ($#m1_subset_1 :::"Element":::) "of" "G"; end; registrationlet "G" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) ; let "A" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_subset_1 :::"Element":::) "of" (Set "(" ($#k9_monoid_1 :::".:"::: ) "(" (Set (Const "G")) "," (Set (Const "A")) ")" ")" ); cluster (Set ($#k10_xtuple_0 :::"rng"::: ) "f") -> ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ; end; theorem :: MONOID_1:21 (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "G")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) (Bool "for" (Set (Var "f1")) "," (Set (Var "f2")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set "(" ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "D")) ")" ")" ) (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "D")) "holds" (Bool (Set (Set "(" (Set (Var "f1")) ($#k6_algstr_0 :::"*"::: ) (Set (Var "f2")) ")" ) ($#k10_monoid_1 :::"."::: ) (Set (Var "a"))) ($#r1_hidden :::"="::: ) (Set (Set "(" (Set (Var "f1")) ($#k10_monoid_1 :::"."::: ) (Set (Var "a")) ")" ) ($#k6_algstr_0 :::"*"::: ) (Set "(" (Set (Var "f2")) ($#k10_monoid_1 :::"."::: ) (Set (Var "a")) ")" ))))))) ; definitionlet "G" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v1_group_1 :::"unital"::: ) ($#l3_algstr_0 :::"multMagma"::: ) ; let "A" be ($#m1_hidden :::"set"::: ) ; :: original: :::".:"::: redefine func :::".:"::: "(" "G" "," "A" ")" -> ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v22_algstr_0 :::"strict"::: ) ($#v4_vectsp_1 :::"well-unital"::: ) ($#v1_monoid_0 :::"constituted-Functions"::: ) ($#l4_algstr_0 :::"multLoopStr"::: ) ; end; theorem :: MONOID_1:22 (Bool "for" (Set (Var "X")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "G")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v1_group_1 :::"unital"::: ) ($#l3_algstr_0 :::"multMagma"::: ) "holds" (Bool (Set ($#k5_struct_0 :::"1."::: ) (Set "(" ($#k11_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "X")) ")" ")" )) ($#r1_hidden :::"="::: ) (Set (Set (Var "X")) ($#k5_monoid_1 :::"-->"::: ) (Set "(" ($#k4_binop_1 :::"the_unity_wrt"::: ) (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" (Set (Var "G"))) ")" ))))) ; theorem :: MONOID_1:23 (Bool "for" (Set (Var "G")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) "holds" (Bool "(" "(" (Bool (Bool (Set (Var "G")) "is" ($#v5_group_1 :::"commutative"::: ) )) "implies" (Bool (Set ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "A")) ")" ) "is" ($#v5_group_1 :::"commutative"::: ) ) ")" & "(" (Bool (Bool (Set (Var "G")) "is" ($#v3_group_1 :::"associative"::: ) )) "implies" (Bool (Set ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "A")) ")" ) "is" ($#v3_group_1 :::"associative"::: ) ) ")" & "(" (Bool (Bool (Set (Var "G")) "is" ($#v10_monoid_0 :::"idempotent"::: ) )) "implies" (Bool (Set ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "A")) ")" ) "is" ($#v10_monoid_0 :::"idempotent"::: ) ) ")" & "(" (Bool (Bool (Set (Var "G")) "is" ($#v13_monoid_0 :::"invertible"::: ) )) "implies" (Bool (Set ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "A")) ")" ) "is" ($#v13_monoid_0 :::"invertible"::: ) ) ")" & "(" (Bool (Bool (Set (Var "G")) "is" ($#v16_monoid_0 :::"cancelable"::: ) )) "implies" (Bool (Set ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "A")) ")" ) "is" ($#v16_monoid_0 :::"cancelable"::: ) ) ")" & "(" (Bool (Bool (Set (Var "G")) "is" ($#v17_monoid_0 :::"uniquely-decomposable"::: ) )) "implies" (Bool (Set ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "A")) ")" ) "is" ($#v17_monoid_0 :::"uniquely-decomposable"::: ) ) ")" ")" ))) ; theorem :: MONOID_1:24 (Bool "for" (Set (Var "X")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "G")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) (Bool "for" (Set (Var "H")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#m2_monoid_0 :::"SubStr"::: ) "of" (Set (Var "G")) "holds" (Bool (Set ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "H")) "," (Set (Var "X")) ")" ) "is" ($#m2_monoid_0 :::"SubStr"::: ) "of" (Set ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "X")) ")" ))))) ; theorem :: MONOID_1:25 (Bool "for" (Set (Var "X")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "G")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v1_group_1 :::"unital"::: ) ($#l3_algstr_0 :::"multMagma"::: ) (Bool "for" (Set (Var "H")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#m2_monoid_0 :::"SubStr"::: ) "of" (Set (Var "G")) "st" (Bool (Bool (Set ($#k4_binop_1 :::"the_unity_wrt"::: ) (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" (Set (Var "G")))) ($#r2_hidden :::"in"::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "H"))))) "holds" (Bool (Set ($#k9_monoid_1 :::".:"::: ) "(" (Set (Var "H")) "," (Set (Var "X")) ")" ) "is" ($#m3_monoid_0 :::"MonoidalSubStr"::: ) "of" (Set ($#k11_monoid_1 :::".:"::: ) "(" (Set (Var "G")) "," (Set (Var "X")) ")" ))))) ; definitionlet "G" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v1_group_1 :::"unital"::: ) ($#v3_group_1 :::"associative"::: ) ($#v5_group_1 :::"commutative"::: ) ($#v16_monoid_0 :::"cancelable"::: ) ($#v17_monoid_0 :::"uniquely-decomposable"::: ) ($#l3_algstr_0 :::"multMagma"::: ) ; let "A" be ($#m1_hidden :::"set"::: ) ; :: original: :::".:"::: redefine func :::".:"::: "(" "G" "," "A" ")" -> ($#v22_algstr_0 :::"strict"::: ) ($#v5_group_1 :::"commutative"::: ) ($#v1_monoid_0 :::"constituted-Functions"::: ) ($#v16_monoid_0 :::"cancelable"::: ) ($#v17_monoid_0 :::"uniquely-decomposable"::: ) ($#l4_algstr_0 :::"Monoid":::); end; begin definitionlet "A" be ($#m1_hidden :::"set"::: ) ; func :::"MultiSet_over"::: "A" -> ($#v22_algstr_0 :::"strict"::: ) ($#v5_group_1 :::"commutative"::: ) ($#v1_monoid_0 :::"constituted-Functions"::: ) ($#v16_monoid_0 :::"cancelable"::: ) ($#v17_monoid_0 :::"uniquely-decomposable"::: ) ($#l4_algstr_0 :::"Monoid":::) equals :: MONOID_1:def 4 (Set ($#k12_monoid_1 :::".:"::: ) "(" (Set ($#k5_monoid_0 :::""::: ) ) "," "A" ")" ); end; :: deftheorem defines :::"MultiSet_over"::: MONOID_1:def 4 : (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) "holds" (Bool (Set ($#k13_monoid_1 :::"MultiSet_over"::: ) (Set (Var "A"))) ($#r1_hidden :::"="::: ) (Set ($#k12_monoid_1 :::".:"::: ) "(" (Set ($#k5_monoid_0 :::""::: ) ) "," (Set (Var "A")) ")" ))); theorem :: MONOID_1:26 (Bool "for" (Set (Var "X")) "being" ($#m1_hidden :::"set"::: ) "holds" (Bool "(" (Bool (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set "(" ($#k13_monoid_1 :::"MultiSet_over"::: ) (Set (Var "X")) ")" )) ($#r1_hidden :::"="::: ) (Set ($#k9_funct_2 :::"Funcs"::: ) "(" (Set (Var "X")) "," (Set ($#k5_numbers :::"NAT"::: ) ) ")" )) & (Bool (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" (Set "(" ($#k13_monoid_1 :::"MultiSet_over"::: ) (Set (Var "X")) ")" )) ($#r1_funct_2 :::"="::: ) (Set "(" (Set ($#k47_binop_2 :::"addnat"::: ) ) "," (Set ($#k5_numbers :::"NAT"::: ) ) ")" ($#k8_monoid_1 :::".:"::: ) (Set (Var "X")))) & (Bool (Set ($#k5_struct_0 :::"1."::: ) (Set "(" ($#k13_monoid_1 :::"MultiSet_over"::: ) (Set (Var "X")) ")" )) ($#r1_hidden :::"="::: ) (Set (Set (Var "X")) ($#k5_monoid_1 :::"-->"::: ) (Set ($#k6_numbers :::"0"::: ) ))) ")" )) ; definitionlet "A" be ($#m1_hidden :::"set"::: ) ; mode Multiset of "A" is ($#m1_subset_1 :::"Element":::) "of" (Set "(" ($#k13_monoid_1 :::"MultiSet_over"::: ) "A" ")" ); end; theorem :: MONOID_1:27 (Bool "for" (Set (Var "x")) "," (Set (Var "X")) "being" ($#m1_hidden :::"set"::: ) "holds" (Bool "(" (Bool (Set (Var "x")) "is" ($#m1_subset_1 :::"Multiset":::) "of" (Set (Var "X"))) "iff" (Bool (Set (Var "x")) "is" ($#m1_subset_1 :::"Function":::) "of" (Set (Var "X")) "," (Set ($#k5_numbers :::"NAT"::: ) )) ")" )) ; theorem :: MONOID_1:28 (Bool "for" (Set (Var "X")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "m")) "being" ($#m1_subset_1 :::"Multiset":::) "of" (Set (Var "X")) "holds" (Bool "(" (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "m"))) ($#r1_hidden :::"="::: ) (Set (Var "X"))) & (Bool (Set ($#k10_xtuple_0 :::"rng"::: ) (Set (Var "m"))) ($#r1_tarski :::"c="::: ) (Set ($#k5_numbers :::"NAT"::: ) )) ")" ))) ; definitionlet "A" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "m" be ($#m1_subset_1 :::"Multiset":::) "of" (Set (Const "A")); :: original: :::"rng"::: redefine func :::"rng"::: "m" -> ($#m1_subset_1 :::"Subset":::) "of" (Set ($#k5_numbers :::"NAT"::: ) ); let "a" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "A")); :: original: :::"."::: redefine func "m" :::"."::: "a" -> ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ); end; theorem :: MONOID_1:29 (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "m1")) "," (Set (Var "m2")) "being" ($#m1_subset_1 :::"Multiset":::) "of" (Set (Var "D")) (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "D")) "holds" (Bool (Set (Set "(" (Set (Var "m1")) ($#k6_algstr_0 :::"[*]"::: ) (Set (Var "m2")) ")" ) ($#k15_monoid_1 :::"."::: ) (Set (Var "a"))) ($#r1_hidden :::"="::: ) (Set (Set "(" (Set (Var "m1")) ($#k15_monoid_1 :::"."::: ) (Set (Var "a")) ")" ) ($#k2_nat_1 :::"+"::: ) (Set "(" (Set (Var "m2")) ($#k15_monoid_1 :::"."::: ) (Set (Var "a")) ")" )))))) ; theorem :: MONOID_1:30 (Bool "for" (Set (Var "Y")) "," (Set (Var "X")) "being" ($#m1_hidden :::"set"::: ) "holds" (Bool (Set ($#k5_funct_3 :::"chi"::: ) "(" (Set (Var "Y")) "," (Set (Var "X")) ")" ) "is" ($#m1_subset_1 :::"Multiset":::) "of" (Set (Var "X")))) ; definitionlet "Y", "X" be ($#m1_hidden :::"set"::: ) ; :: original: :::"chi"::: redefine func :::"chi"::: "(" "Y" "," "X" ")" -> ($#m1_subset_1 :::"Multiset":::) "of" "X"; end; definitionlet "X" be ($#m1_hidden :::"set"::: ) ; let "n" be ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ); :: original: :::"-->"::: redefine func "X" :::"-->"::: "n" -> ($#m1_subset_1 :::"Multiset":::) "of" "X"; end; definitionlet "A" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "a" be ($#m1_subset_1 :::"Element"::: ) "of" (Set (Const "A")); func :::"chi"::: "a" -> ($#m1_subset_1 :::"Multiset":::) "of" "A" equals :: MONOID_1:def 5 (Set ($#k16_monoid_1 :::"chi"::: ) "(" (Set ($#k6_domain_1 :::"{"::: ) "a" ($#k6_domain_1 :::"}"::: ) ) "," "A" ")" ); end; :: deftheorem defines :::"chi"::: MONOID_1:def 5 : (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "holds" (Bool (Set ($#k18_monoid_1 :::"chi"::: ) (Set (Var "a"))) ($#r1_hidden :::"="::: ) (Set ($#k16_monoid_1 :::"chi"::: ) "(" (Set ($#k6_domain_1 :::"{"::: ) (Set (Var "a")) ($#k6_domain_1 :::"}"::: ) ) "," (Set (Var "A")) ")" )))); theorem :: MONOID_1:31 (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Set "(" ($#k18_monoid_1 :::"chi"::: ) (Set (Var "a")) ")" ) ($#k15_monoid_1 :::"."::: ) (Set (Var "a"))) ($#r1_hidden :::"="::: ) (Num 1)) & "(" (Bool (Bool (Set (Var "b")) ($#r1_hidden :::"<>"::: ) (Set (Var "a")))) "implies" (Bool (Set (Set "(" ($#k18_monoid_1 :::"chi"::: ) (Set (Var "a")) ")" ) ($#k15_monoid_1 :::"."::: ) (Set (Var "b"))) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) )) ")" ")" ))) ; theorem :: MONOID_1:32 (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "m1")) "," (Set (Var "m2")) "being" ($#m1_subset_1 :::"Multiset":::) "of" (Set (Var "A")) "st" (Bool (Bool "(" "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "holds" (Bool (Set (Set (Var "m1")) ($#k15_monoid_1 :::"."::: ) (Set (Var "a"))) ($#r1_hidden :::"="::: ) (Set (Set (Var "m2")) ($#k15_monoid_1 :::"."::: ) (Set (Var "a")))) ")" )) "holds" (Bool (Set (Var "m1")) ($#r1_hidden :::"="::: ) (Set (Var "m2"))))) ; definitionlet "A" be ($#m1_hidden :::"set"::: ) ; func :::"finite-MultiSet_over"::: "A" -> ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v22_algstr_0 :::"strict"::: ) ($#m3_monoid_0 :::"MonoidalSubStr"::: ) "of" (Set ($#k13_monoid_1 :::"MultiSet_over"::: ) "A") means :: MONOID_1:def 6 (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"Multiset":::) "of" "A" "holds" (Bool "(" (Bool (Set (Var "f")) ($#r2_hidden :::"in"::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" it)) "iff" (Bool (Set (Set (Var "f")) ($#k8_relat_1 :::"""::: ) (Set "(" (Set ($#k5_numbers :::"NAT"::: ) ) ($#k7_subset_1 :::"\"::: ) (Set ($#k6_domain_1 :::"{"::: ) (Set ($#k6_numbers :::"0"::: ) ) ($#k6_domain_1 :::"}"::: ) ) ")" )) "is" ($#v1_finset_1 :::"finite"::: ) ) ")" )); end; :: deftheorem defines :::"finite-MultiSet_over"::: MONOID_1:def 6 : (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "b2")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v22_algstr_0 :::"strict"::: ) ($#m3_monoid_0 :::"MonoidalSubStr"::: ) "of" (Set ($#k13_monoid_1 :::"MultiSet_over"::: ) (Set (Var "A"))) "holds" (Bool "(" (Bool (Set (Var "b2")) ($#r1_hidden :::"="::: ) (Set ($#k19_monoid_1 :::"finite-MultiSet_over"::: ) (Set (Var "A")))) "iff" (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"Multiset":::) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Var "f")) ($#r2_hidden :::"in"::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "b2")))) "iff" (Bool (Set (Set (Var "f")) ($#k8_relat_1 :::"""::: ) (Set "(" (Set ($#k5_numbers :::"NAT"::: ) ) ($#k7_subset_1 :::"\"::: ) (Set ($#k6_domain_1 :::"{"::: ) (Set ($#k6_numbers :::"0"::: ) ) ($#k6_domain_1 :::"}"::: ) ) ")" )) "is" ($#v1_finset_1 :::"finite"::: ) ) ")" )) ")" ))); theorem :: MONOID_1:33 (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "holds" (Bool (Set ($#k18_monoid_1 :::"chi"::: ) (Set (Var "a"))) "is" ($#m1_subset_1 :::"Element":::) "of" (Set "(" ($#k19_monoid_1 :::"finite-MultiSet_over"::: ) (Set (Var "A")) ")" )))) ; theorem :: MONOID_1:34 (Bool "for" (Set (Var "x")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "p")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set (Var "A")) "holds" (Bool (Set ($#k1_relset_1 :::"dom"::: ) (Set "(" (Set ($#k1_tarski :::"{"::: ) (Set (Var "x")) ($#k1_tarski :::"}"::: ) ) ($#k6_relat_1 :::"|`"::: ) (Set "(" (Set (Var "p")) ($#k7_finseq_1 :::"^"::: ) (Set ($#k9_finseq_1 :::"<*"::: ) (Set (Var "x")) ($#k9_finseq_1 :::"*>"::: ) ) ")" ) ")" )) ($#r1_hidden :::"="::: ) (Set (Set "(" ($#k1_relset_1 :::"dom"::: ) (Set "(" (Set ($#k1_tarski :::"{"::: ) (Set (Var "x")) ($#k1_tarski :::"}"::: ) ) ($#k6_relset_1 :::"|`"::: ) (Set (Var "p")) ")" ) ")" ) ($#k4_subset_1 :::"\/"::: ) (Set ($#k6_domain_1 :::"{"::: ) (Set "(" (Set "(" ($#k3_finseq_1 :::"len"::: ) (Set (Var "p")) ")" ) ($#k2_nat_1 :::"+"::: ) (Num 1) ")" ) ($#k6_domain_1 :::"}"::: ) )))))) ; theorem :: MONOID_1:35 (Bool "for" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "p")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set (Var "A")) "st" (Bool (Bool (Set (Var "x")) ($#r1_hidden :::"<>"::: ) (Set (Var "y")))) "holds" (Bool (Set ($#k1_relset_1 :::"dom"::: ) (Set "(" (Set ($#k1_tarski :::"{"::: ) (Set (Var "x")) ($#k1_tarski :::"}"::: ) ) ($#k6_relat_1 :::"|`"::: ) (Set "(" (Set (Var "p")) ($#k7_finseq_1 :::"^"::: ) (Set ($#k9_finseq_1 :::"<*"::: ) (Set (Var "y")) ($#k9_finseq_1 :::"*>"::: ) ) ")" ) ")" )) ($#r1_hidden :::"="::: ) (Set ($#k1_relset_1 :::"dom"::: ) (Set "(" (Set ($#k1_tarski :::"{"::: ) (Set (Var "x")) ($#k1_tarski :::"}"::: ) ) ($#k6_relset_1 :::"|`"::: ) (Set (Var "p")) ")" )))))) ; definitionlet "A" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "p" be ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set (Const "A")); func :::"|.":::"p":::".|"::: -> ($#m1_subset_1 :::"Multiset":::) "of" "A" means :: MONOID_1:def 7 (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" "A" "holds" (Bool (Set it ($#k15_monoid_1 :::"."::: ) (Set (Var "a"))) ($#r1_hidden :::"="::: ) (Set ($#k5_card_1 :::"card"::: ) (Set "(" ($#k1_relset_1 :::"dom"::: ) (Set "(" (Set ($#k6_domain_1 :::"{"::: ) (Set (Var "a")) ($#k6_domain_1 :::"}"::: ) ) ($#k6_relset_1 :::"|`"::: ) "p" ")" ) ")" )))); end; :: deftheorem defines :::"|."::: MONOID_1:def 7 : (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "p")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set (Var "A")) (Bool "for" (Set (Var "b3")) "being" ($#m1_subset_1 :::"Multiset":::) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Var "b3")) ($#r1_hidden :::"="::: ) (Set ($#k20_monoid_1 :::"|."::: ) (Set (Var "p")) ($#k20_monoid_1 :::".|"::: ) )) "iff" (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "holds" (Bool (Set (Set (Var "b3")) ($#k15_monoid_1 :::"."::: ) (Set (Var "a"))) ($#r1_hidden :::"="::: ) (Set ($#k5_card_1 :::"card"::: ) (Set "(" ($#k1_relset_1 :::"dom"::: ) (Set "(" (Set ($#k6_domain_1 :::"{"::: ) (Set (Var "a")) ($#k6_domain_1 :::"}"::: ) ) ($#k6_relset_1 :::"|`"::: ) (Set (Var "p")) ")" ) ")" )))) ")" )))); theorem :: MONOID_1:36 (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "holds" (Bool (Set (Set ($#k20_monoid_1 :::"|."::: ) (Set "(" ($#k6_finseq_1 :::"<*>"::: ) (Set (Var "A")) ")" ) ($#k20_monoid_1 :::".|"::: ) ) ($#k15_monoid_1 :::"."::: ) (Set (Var "a"))) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) )))) ; theorem :: MONOID_1:37 (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) "holds" (Bool (Set ($#k20_monoid_1 :::"|."::: ) (Set "(" ($#k6_finseq_1 :::"<*>"::: ) (Set (Var "A")) ")" ) ($#k20_monoid_1 :::".|"::: ) ) ($#r1_hidden :::"="::: ) (Set (Set (Var "A")) ($#k17_monoid_1 :::"-->"::: ) (Set ($#k6_numbers :::"0"::: ) )))) ; theorem :: MONOID_1:38 (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "holds" (Bool (Set ($#k20_monoid_1 :::"|."::: ) (Set ($#k12_finseq_1 :::"<*"::: ) (Set (Var "a")) ($#k12_finseq_1 :::"*>"::: ) ) ($#k20_monoid_1 :::".|"::: ) ) ($#r1_hidden :::"="::: ) (Set ($#k18_monoid_1 :::"chi"::: ) (Set (Var "a")))))) ; theorem :: MONOID_1:39 (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) (Bool "for" (Set (Var "p")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set (Var "A")) "holds" (Bool (Set ($#k20_monoid_1 :::"|."::: ) (Set "(" (Set (Var "p")) ($#k1_monoid_0 :::"^"::: ) (Set ($#k12_finseq_1 :::"<*"::: ) (Set (Var "a")) ($#k12_finseq_1 :::"*>"::: ) ) ")" ) ($#k20_monoid_1 :::".|"::: ) ) ($#r1_hidden :::"="::: ) (Set (Set ($#k20_monoid_1 :::"|."::: ) (Set (Var "p")) ($#k20_monoid_1 :::".|"::: ) ) ($#k6_algstr_0 :::"[*]"::: ) (Set "(" ($#k18_monoid_1 :::"chi"::: ) (Set (Var "a")) ")" )))))) ; theorem :: MONOID_1:40 (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "p")) "," (Set (Var "q")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set (Var "A")) "holds" (Bool (Set ($#k20_monoid_1 :::"|."::: ) (Set "(" (Set (Var "p")) ($#k1_monoid_0 :::"^"::: ) (Set (Var "q")) ")" ) ($#k20_monoid_1 :::".|"::: ) ) ($#r1_hidden :::"="::: ) (Set (Set ($#k20_monoid_1 :::"|."::: ) (Set (Var "p")) ($#k20_monoid_1 :::".|"::: ) ) ($#k6_algstr_0 :::"[*]"::: ) (Set ($#k20_monoid_1 :::"|."::: ) (Set (Var "q")) ($#k20_monoid_1 :::".|"::: ) ))))) ; theorem :: MONOID_1:41 (Bool "for" (Set (Var "n")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Set ($#k20_monoid_1 :::"|."::: ) (Set "(" (Set (Var "n")) ($#k4_monoid_1 :::".-->"::: ) (Set (Var "a")) ")" ) ($#k20_monoid_1 :::".|"::: ) ) ($#k15_monoid_1 :::"."::: ) (Set (Var "a"))) ($#r1_hidden :::"="::: ) (Set (Var "n"))) & (Bool "(" "for" (Set (Var "b")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "st" (Bool (Bool (Set (Var "b")) ($#r1_hidden :::"<>"::: ) (Set (Var "a")))) "holds" (Bool (Set (Set ($#k20_monoid_1 :::"|."::: ) (Set "(" (Set (Var "n")) ($#k4_monoid_1 :::".-->"::: ) (Set (Var "a")) ")" ) ($#k20_monoid_1 :::".|"::: ) ) ($#k15_monoid_1 :::"."::: ) (Set (Var "b"))) ($#r1_hidden :::"="::: ) (Set ($#k6_numbers :::"0"::: ) )) ")" ) ")" )))) ; theorem :: MONOID_1:42 (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "p")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set (Var "A")) "holds" (Bool (Set ($#k20_monoid_1 :::"|."::: ) (Set (Var "p")) ($#k20_monoid_1 :::".|"::: ) ) "is" ($#m1_subset_1 :::"Element":::) "of" (Set "(" ($#k19_monoid_1 :::"finite-MultiSet_over"::: ) (Set (Var "A")) ")" )))) ; theorem :: MONOID_1:43 (Bool "for" (Set (Var "x")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) "is" ($#m1_subset_1 :::"Element":::) "of" (Set "(" ($#k19_monoid_1 :::"finite-MultiSet_over"::: ) (Set (Var "A")) ")" ))) "holds" (Bool "ex" (Set (Var "p")) "being" ($#m2_finseq_1 :::"FinSequence"::: ) "of" (Set (Var "A")) "st" (Bool (Set (Var "x")) ($#r1_hidden :::"="::: ) (Set ($#k20_monoid_1 :::"|."::: ) (Set (Var "p")) ($#k20_monoid_1 :::".|"::: ) ))))) ; begin definitionlet "D1", "D2", "D" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; let "f" be ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Const "D1")) "," (Set (Const "D2")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set (Const "D")); func "f" :::".:^2"::: -> ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "(" ($#k1_zfmisc_1 :::"bool"::: ) "D1" ")" ) "," (Set "(" ($#k1_zfmisc_1 :::"bool"::: ) "D2" ")" ) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set "(" ($#k1_zfmisc_1 :::"bool"::: ) "D" ")" ) means :: MONOID_1:def 8 (Bool "for" (Set (Var "x")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "(" ($#k1_zfmisc_1 :::"bool"::: ) "D1" ")" ) "," (Set "(" ($#k1_zfmisc_1 :::"bool"::: ) "D2" ")" ) ($#k2_zfmisc_1 :::":]"::: ) ) "holds" (Bool (Set it ($#k3_funct_2 :::"."::: ) (Set (Var "x"))) ($#r1_hidden :::"="::: ) (Set "f" ($#k7_relset_1 :::".:"::: ) (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "(" (Set (Var "x")) ($#k2_domain_1 :::"`1"::: ) ")" ) "," (Set "(" (Set (Var "x")) ($#k3_domain_1 :::"`2"::: ) ")" ) ($#k2_zfmisc_1 :::":]"::: ) )))); end; :: deftheorem defines :::".:^2"::: MONOID_1:def 8 : (Bool "for" (Set (Var "D1")) "," (Set (Var "D2")) "," (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "D1")) "," (Set (Var "D2")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set (Var "D")) (Bool "for" (Set (Var "b5")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "(" ($#k1_zfmisc_1 :::"bool"::: ) (Set (Var "D1")) ")" ) "," (Set "(" ($#k1_zfmisc_1 :::"bool"::: ) (Set (Var "D2")) ")" ) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set "(" ($#k1_zfmisc_1 :::"bool"::: ) (Set (Var "D")) ")" ) "holds" (Bool "(" (Bool (Set (Var "b5")) ($#r1_hidden :::"="::: ) (Set (Set (Var "f")) ($#k21_monoid_1 :::".:^2"::: ) )) "iff" (Bool "for" (Set (Var "x")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "(" ($#k1_zfmisc_1 :::"bool"::: ) (Set (Var "D1")) ")" ) "," (Set "(" ($#k1_zfmisc_1 :::"bool"::: ) (Set (Var "D2")) ")" ) ($#k2_zfmisc_1 :::":]"::: ) ) "holds" (Bool (Set (Set (Var "b5")) ($#k3_funct_2 :::"."::: ) (Set (Var "x"))) ($#r1_hidden :::"="::: ) (Set (Set (Var "f")) ($#k7_relset_1 :::".:"::: ) (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "(" (Set (Var "x")) ($#k2_domain_1 :::"`1"::: ) ")" ) "," (Set "(" (Set (Var "x")) ($#k3_domain_1 :::"`2"::: ) ")" ) ($#k2_zfmisc_1 :::":]"::: ) )))) ")" )))); theorem :: MONOID_1:44 (Bool "for" (Set (Var "D1")) "," (Set (Var "D2")) "," (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "D1")) "," (Set (Var "D2")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set (Var "D")) (Bool "for" (Set (Var "X1")) "being" ($#m1_subset_1 :::"Subset":::) "of" (Set (Var "D1")) (Bool "for" (Set (Var "X2")) "being" ($#m1_subset_1 :::"Subset":::) "of" (Set (Var "D2")) "holds" (Bool (Set (Set "(" (Set (Var "f")) ($#k21_monoid_1 :::".:^2"::: ) ")" ) ($#k2_binop_1 :::"."::: ) "(" (Set (Var "X1")) "," (Set (Var "X2")) ")" ) ($#r1_hidden :::"="::: ) (Set (Set (Var "f")) ($#k7_relset_1 :::".:"::: ) (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "X1")) "," (Set (Var "X2")) ($#k2_zfmisc_1 :::":]"::: ) ))))))) ; theorem :: MONOID_1:45 (Bool "for" (Set (Var "D1")) "," (Set (Var "D2")) "," (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "D1")) "," (Set (Var "D2")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set (Var "D")) (Bool "for" (Set (Var "X1")) "being" ($#m1_subset_1 :::"Subset":::) "of" (Set (Var "D1")) (Bool "for" (Set (Var "X2")) "being" ($#m1_subset_1 :::"Subset":::) "of" (Set (Var "D2")) (Bool "for" (Set (Var "x1")) "," (Set (Var "x2")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x1")) ($#r2_hidden :::"in"::: ) (Set (Var "X1"))) & (Bool (Set (Var "x2")) ($#r2_hidden :::"in"::: ) (Set (Var "X2")))) "holds" (Bool (Set (Set (Var "f")) ($#k1_binop_1 :::"."::: ) "(" (Set (Var "x1")) "," (Set (Var "x2")) ")" ) ($#r2_hidden :::"in"::: ) (Set (Set "(" (Set (Var "f")) ($#k21_monoid_1 :::".:^2"::: ) ")" ) ($#k2_binop_1 :::"."::: ) "(" (Set (Var "X1")) "," (Set (Var "X2")) ")" ))))))) ; theorem :: MONOID_1:46 (Bool "for" (Set (Var "D1")) "," (Set (Var "D2")) "," (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "D1")) "," (Set (Var "D2")) ($#k2_zfmisc_1 :::":]"::: ) ) "," (Set (Var "D")) (Bool "for" (Set (Var "X1")) "being" ($#m1_subset_1 :::"Subset":::) "of" (Set (Var "D1")) (Bool "for" (Set (Var "X2")) "being" ($#m1_subset_1 :::"Subset":::) "of" (Set (Var "D2")) "holds" (Bool (Set (Set "(" (Set (Var "f")) ($#k21_monoid_1 :::".:^2"::: ) ")" ) ($#k2_binop_1 :::"."::: ) "(" (Set (Var "X1")) "," (Set (Var "X2")) ")" ) ($#r1_hidden :::"="::: ) "{" (Set "(" (Set (Var "f")) ($#k2_binop_1 :::"."::: ) "(" (Set (Var "a")) "," (Set (Var "b")) ")" ")" ) where a "is" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "D1")), b "is" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "D2")) : (Bool "(" (Bool (Set (Var "a")) ($#r2_hidden :::"in"::: ) (Set (Var "X1"))) & (Bool (Set (Var "b")) ($#r2_hidden :::"in"::: ) (Set (Var "X2"))) ")" ) "}" ))))) ; theorem :: MONOID_1:47 (Bool "for" (Set (Var "X")) "," (Set (Var "Y")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v1_binop_1 :::"commutative"::: ) )) "holds" (Bool (Set (Set (Var "o")) ($#k7_relset_1 :::".:"::: ) (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "X")) "," (Set (Var "Y")) ($#k2_zfmisc_1 :::":]"::: ) )) ($#r1_hidden :::"="::: ) (Set (Set (Var "o")) ($#k7_relset_1 :::".:"::: ) (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "Y")) "," (Set (Var "X")) ($#k2_zfmisc_1 :::":]"::: ) )))))) ; theorem :: MONOID_1:48 (Bool "for" (Set (Var "X")) "," (Set (Var "Y")) "," (Set (Var "Z")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v2_binop_1 :::"associative"::: ) )) "holds" (Bool (Set (Set (Var "o")) ($#k7_relset_1 :::".:"::: ) (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set "(" (Set (Var "o")) ($#k7_relset_1 :::".:"::: ) (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "X")) "," (Set (Var "Y")) ($#k2_zfmisc_1 :::":]"::: ) ) ")" ) "," (Set (Var "Z")) ($#k2_zfmisc_1 :::":]"::: ) )) ($#r1_hidden :::"="::: ) (Set (Set (Var "o")) ($#k7_relset_1 :::".:"::: ) (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "X")) "," (Set "(" (Set (Var "o")) ($#k7_relset_1 :::".:"::: ) (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "Y")) "," (Set (Var "Z")) ($#k2_zfmisc_1 :::":]"::: ) ) ")" ) ($#k2_zfmisc_1 :::":]"::: ) )))))) ; theorem :: MONOID_1:49 (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v1_binop_1 :::"commutative"::: ) )) "holds" (Bool (Set (Set (Var "o")) ($#k21_monoid_1 :::".:^2"::: ) ) "is" ($#v1_binop_1 :::"commutative"::: ) ))) ; theorem :: MONOID_1:50 (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v2_binop_1 :::"associative"::: ) )) "holds" (Bool (Set (Set (Var "o")) ($#k21_monoid_1 :::".:^2"::: ) ) "is" ($#v2_binop_1 :::"associative"::: ) ))) ; theorem :: MONOID_1:51 (Bool "for" (Set (Var "X")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "a")) ($#r3_binop_1 :::"is_a_unity_wrt"::: ) (Set (Var "o")))) "holds" (Bool "(" (Bool (Set (Set (Var "o")) ($#k7_relset_1 :::".:"::: ) (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set ($#k6_domain_1 :::"{"::: ) (Set (Var "a")) ($#k6_domain_1 :::"}"::: ) ) "," (Set (Var "X")) ($#k2_zfmisc_1 :::":]"::: ) )) ($#r1_hidden :::"="::: ) (Set (Set (Var "D")) ($#k3_xboole_0 :::"/\"::: ) (Set (Var "X")))) & (Bool (Set (Set (Var "o")) ($#k7_relset_1 :::".:"::: ) (Set ($#k2_zfmisc_1 :::"[:"::: ) (Set (Var "X")) "," (Set ($#k6_domain_1 :::"{"::: ) (Set (Var "a")) ($#k6_domain_1 :::"}"::: ) ) ($#k2_zfmisc_1 :::":]"::: ) )) ($#r1_hidden :::"="::: ) (Set (Set (Var "D")) ($#k3_xboole_0 :::"/\"::: ) (Set (Var "X")))) ")" ))))) ; theorem :: MONOID_1:52 (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "a")) ($#r3_binop_1 :::"is_a_unity_wrt"::: ) (Set (Var "o")))) "holds" (Bool "(" (Bool (Set ($#k6_domain_1 :::"{"::: ) (Set (Var "a")) ($#k6_domain_1 :::"}"::: ) ) ($#r3_binop_1 :::"is_a_unity_wrt"::: ) (Set (Set (Var "o")) ($#k21_monoid_1 :::".:^2"::: ) )) & (Bool (Set (Set (Var "o")) ($#k21_monoid_1 :::".:^2"::: ) ) "is" ($#v1_setwiseo :::"having_a_unity"::: ) ) & (Bool (Set ($#k4_binop_1 :::"the_unity_wrt"::: ) (Set "(" (Set (Var "o")) ($#k21_monoid_1 :::".:^2"::: ) ")" )) ($#r1_hidden :::"="::: ) (Set ($#k6_domain_1 :::"{"::: ) (Set (Var "a")) ($#k6_domain_1 :::"}"::: ) )) ")" )))) ; theorem :: MONOID_1:53 (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v1_setwiseo :::"having_a_unity"::: ) )) "holds" (Bool "(" (Bool (Set (Set (Var "o")) ($#k21_monoid_1 :::".:^2"::: ) ) "is" ($#v1_setwiseo :::"having_a_unity"::: ) ) & (Bool (Set ($#k6_domain_1 :::"{"::: ) (Set "(" ($#k4_binop_1 :::"the_unity_wrt"::: ) (Set (Var "o")) ")" ) ($#k6_domain_1 :::"}"::: ) ) ($#r3_binop_1 :::"is_a_unity_wrt"::: ) (Set (Set (Var "o")) ($#k21_monoid_1 :::".:^2"::: ) )) & (Bool (Set ($#k4_binop_1 :::"the_unity_wrt"::: ) (Set "(" (Set (Var "o")) ($#k21_monoid_1 :::".:^2"::: ) ")" )) ($#r1_hidden :::"="::: ) (Set ($#k6_domain_1 :::"{"::: ) (Set "(" ($#k4_binop_1 :::"the_unity_wrt"::: ) (Set (Var "o")) ")" ) ($#k6_domain_1 :::"}"::: ) )) ")" ))) ; theorem :: MONOID_1:54 (Bool "for" (Set (Var "D")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"BinOp":::) "of" (Set (Var "D")) "st" (Bool (Bool (Set (Var "o")) "is" ($#v9_monoid_0 :::"uniquely-decomposable"::: ) )) "holds" (Bool (Set (Set (Var "o")) ($#k21_monoid_1 :::".:^2"::: ) ) "is" ($#v9_monoid_0 :::"uniquely-decomposable"::: ) ))) ; definitionlet "G" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) ; func :::"bool"::: "G" -> ($#l3_algstr_0 :::"multMagma"::: ) equals :: MONOID_1:def 9 (Set ($#g4_algstr_0 :::"multLoopStr"::: ) "(#" (Set "(" ($#k1_zfmisc_1 :::"bool"::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "G") ")" ) "," (Set "(" (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" "G") ($#k21_monoid_1 :::".:^2"::: ) ")" ) "," (Set ($#k6_domain_1 :::"{"::: ) (Set "(" ($#k4_binop_1 :::"the_unity_wrt"::: ) (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" "G") ")" ) ($#k6_domain_1 :::"}"::: ) ) "#)" ) if (Bool "G" "is" ($#v1_group_1 :::"unital"::: ) ) otherwise (Set ($#g3_algstr_0 :::"multMagma"::: ) "(#" (Set "(" ($#k1_zfmisc_1 :::"bool"::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "G") ")" ) "," (Set "(" (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" "G") ($#k21_monoid_1 :::".:^2"::: ) ")" ) "#)" ); end; :: deftheorem defines :::"bool"::: MONOID_1:def 9 : (Bool "for" (Set (Var "G")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) "holds" (Bool "(" "(" (Bool (Bool (Set (Var "G")) "is" ($#v1_group_1 :::"unital"::: ) )) "implies" (Bool (Set ($#k22_monoid_1 :::"bool"::: ) (Set (Var "G"))) ($#r1_hidden :::"="::: ) (Set ($#g4_algstr_0 :::"multLoopStr"::: ) "(#" (Set "(" ($#k1_zfmisc_1 :::"bool"::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "G"))) ")" ) "," (Set "(" (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" (Set (Var "G"))) ($#k21_monoid_1 :::".:^2"::: ) ")" ) "," (Set ($#k6_domain_1 :::"{"::: ) (Set "(" ($#k4_binop_1 :::"the_unity_wrt"::: ) (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" (Set (Var "G"))) ")" ) ($#k6_domain_1 :::"}"::: ) ) "#)" )) ")" & "(" (Bool (Bool (Bool "not" (Set (Var "G")) "is" ($#v1_group_1 :::"unital"::: ) ))) "implies" (Bool (Set ($#k22_monoid_1 :::"bool"::: ) (Set (Var "G"))) ($#r1_hidden :::"="::: ) (Set ($#g3_algstr_0 :::"multMagma"::: ) "(#" (Set "(" ($#k1_zfmisc_1 :::"bool"::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "G"))) ")" ) "," (Set "(" (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" (Set (Var "G"))) ($#k21_monoid_1 :::".:^2"::: ) ")" ) "#)" )) ")" ")" )); registrationlet "G" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) ; cluster (Set ($#k22_monoid_1 :::"bool"::: ) "G") -> ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ; end; definitionlet "G" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v1_group_1 :::"unital"::: ) ($#l3_algstr_0 :::"multMagma"::: ) ; :: original: :::"bool"::: redefine func :::"bool"::: "G" -> ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v22_algstr_0 :::"strict"::: ) ($#v4_vectsp_1 :::"well-unital"::: ) ($#l4_algstr_0 :::"multLoopStr"::: ) ; end; theorem :: MONOID_1:55 (Bool "for" (Set (Var "G")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) "holds" (Bool "(" (Bool (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set "(" ($#k22_monoid_1 :::"bool"::: ) (Set (Var "G")) ")" )) ($#r1_hidden :::"="::: ) (Set ($#k1_zfmisc_1 :::"bool"::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "G"))))) & (Bool (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" (Set "(" ($#k22_monoid_1 :::"bool"::: ) (Set (Var "G")) ")" )) ($#r1_funct_2 :::"="::: ) (Set (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" (Set (Var "G"))) ($#k21_monoid_1 :::".:^2"::: ) )) ")" )) ; theorem :: MONOID_1:56 (Bool "for" (Set (Var "G")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#v1_group_1 :::"unital"::: ) ($#l3_algstr_0 :::"multMagma"::: ) "holds" (Bool (Set ($#k5_struct_0 :::"1."::: ) (Set "(" ($#k23_monoid_1 :::"bool"::: ) (Set (Var "G")) ")" )) ($#r1_hidden :::"="::: ) (Set ($#k6_domain_1 :::"{"::: ) (Set "(" ($#k4_binop_1 :::"the_unity_wrt"::: ) (Set "the" ($#u2_algstr_0 :::"multF"::: ) "of" (Set (Var "G"))) ")" ) ($#k6_domain_1 :::"}"::: ) ))) ; theorem :: MONOID_1:57 (Bool "for" (Set (Var "G")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l3_algstr_0 :::"multMagma"::: ) "holds" (Bool "(" "(" (Bool (Bool (Set (Var "G")) "is" ($#v5_group_1 :::"commutative"::: ) )) "implies" (Bool (Set ($#k22_monoid_1 :::"bool"::: ) (Set (Var "G"))) "is" ($#v5_group_1 :::"commutative"::: ) ) ")" & "(" (Bool (Bool (Set (Var "G")) "is" ($#v3_group_1 :::"associative"::: ) )) "implies" (Bool (Set ($#k22_monoid_1 :::"bool"::: ) (Set (Var "G"))) "is" ($#v3_group_1 :::"associative"::: ) ) ")" & "(" (Bool (Bool (Set (Var "G")) "is" ($#v17_monoid_0 :::"uniquely-decomposable"::: ) )) "implies" (Bool (Set ($#k22_monoid_1 :::"bool"::: ) (Set (Var "G"))) "is" ($#v17_monoid_0 :::"uniquely-decomposable"::: ) ) ")" ")" )) ;