:: MSUALG_6 semantic presentation begin definitionlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); let "s" be ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Const "S")); mode Element of "A" "," "s" is ($#m1_subset_1 :::"Element"::: ) "of" (Set (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" "A") ($#k1_funct_1 :::"."::: ) "s"); end; definitionlet "I" be ($#m1_hidden :::"set"::: ) ; let "A" be ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "I")); let "h1", "h2" be ($#m2_pboole :::"ManySortedFunction"::: ) "of" (Set (Const "A")) "," (Set (Const "A")); :: original: :::"**"::: redefine func "h2" :::"**"::: "h1" -> ($#m2_pboole :::"ManySortedFunction"::: ) "of" "A" "," "A"; end; theorem :: MSUALG_6:1 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "a")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "a")) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" ))) "holds" (Bool (Set (Var "a")) "is" ($#m1_hidden :::"Function":::)))))) ; theorem :: MSUALG_6:2 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "a")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "a")) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" ))) "holds" (Bool "(" (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "a"))) ($#r1_hidden :::"="::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ))) & (Bool "(" "for" (Set (Var "i")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" )))) "holds" (Bool (Set (Set (Var "a")) ($#k1_funct_1 :::"."::: ) (Set (Var "i"))) ($#r2_hidden :::"in"::: ) (Set (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i")) ")" ))) ")" ) ")" ))))) ; definitionlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); attr "A" is :::"feasible"::: means :: MSUALG_6:def 1 (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" "S" "st" (Bool (Bool (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," "A" ")" ) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ))) "holds" (Bool (Set ($#k4_msualg_1 :::"Result"::: ) "(" (Set (Var "o")) "," "A" ")" ) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ))); end; :: deftheorem defines :::"feasible"::: MSUALG_6:def 1 : (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) "holds" (Bool "(" (Bool (Set (Var "A")) "is" ($#v1_msualg_6 :::"feasible"::: ) ) "iff" (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" ) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ))) "holds" (Bool (Set ($#k4_msualg_1 :::"Result"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" ) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ))) ")" ))); theorem :: MSUALG_6:3 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "A")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) "holds" (Bool "(" (Bool (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" ) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) )) "iff" (Bool "for" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" )))) "holds" (Bool (Set (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i")) ")" )) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ))) ")" )))) ; registrationlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; cluster ($#v4_msualg_1 :::"non-empty"::: ) -> ($#v1_msualg_6 :::"feasible"::: ) for ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" "S"; end; registrationlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; cluster ($#v4_msualg_1 :::"non-empty"::: ) for ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" "S"; end; definitionlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); mode :::"Endomorphism"::: "of" "A" -> ($#m2_pboole :::"ManySortedFunction":::) "of" "A" "," "A" means :: MSUALG_6:def 2 (Bool it ($#r1_msualg_3 :::"is_homomorphism"::: ) "A" "," "A"); end; :: deftheorem defines :::"Endomorphism"::: MSUALG_6:def 2 : (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "b3")) "being" ($#m2_pboole :::"ManySortedFunction":::) "of" (Set (Var "A")) "," (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Var "b3")) "is" ($#m1_msualg_6 :::"Endomorphism"::: ) "of" (Set (Var "A"))) "iff" (Bool (Set (Var "b3")) ($#r1_msualg_3 :::"is_homomorphism"::: ) (Set (Var "A")) "," (Set (Var "A"))) ")" )))); theorem :: MSUALG_6:4 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) "holds" (Bool (Set ($#k2_msualg_3 :::"id"::: ) (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A")))) "is" ($#m1_msualg_6 :::"Endomorphism"::: ) "of" (Set (Var "A"))))) ; theorem :: MSUALG_6:5 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "h1")) "," (Set (Var "h2")) "being" ($#m2_pboole :::"ManySortedFunction":::) "of" (Set (Var "A")) "," (Set (Var "A")) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" ) "st" (Bool (Bool (Set (Var "a")) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" ))) "holds" (Bool (Set (Set (Var "h2")) ($#k5_msualg_3 :::"#"::: ) (Set "(" (Set (Var "h1")) ($#k5_msualg_3 :::"#"::: ) (Set (Var "a")) ")" )) ($#r1_hidden :::"="::: ) (Set (Set "(" (Set (Var "h2")) ($#k1_msualg_6 :::"**"::: ) (Set (Var "h1")) ")" ) ($#k5_msualg_3 :::"#"::: ) (Set (Var "a"))))))))) ; theorem :: MSUALG_6:6 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "h1")) "," (Set (Var "h2")) "being" ($#m1_msualg_6 :::"Endomorphism"::: ) "of" (Set (Var "A")) "holds" (Bool (Set (Set (Var "h2")) ($#k1_msualg_6 :::"**"::: ) (Set (Var "h1"))) "is" ($#m1_msualg_6 :::"Endomorphism"::: ) "of" (Set (Var "A")))))) ; definitionlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); let "h1", "h2" be ($#m1_msualg_6 :::"Endomorphism"::: ) "of" (Set (Const "A")); :: original: :::"**"::: redefine func "h2" :::"**"::: "h1" -> ($#m1_msualg_6 :::"Endomorphism"::: ) "of" "A"; end; definitionlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; func :::"TranslationRel"::: "S" -> ($#m1_subset_1 :::"Relation":::) "of" (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "S") means :: MSUALG_6:def 3 (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" "S" "holds" (Bool "(" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "s1")) "," (Set (Var "s2")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) it) "iff" (Bool "ex" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" "S" "st" (Bool "(" (Bool (Set ($#k2_msualg_1 :::"the_result_sort_of"::: ) (Set (Var "o"))) ($#r1_hidden :::"="::: ) (Set (Var "s2"))) & (Bool "ex" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) "st" (Bool "(" (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ))) & (Bool (Set (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i"))) ($#r1_hidden :::"="::: ) (Set (Var "s1"))) ")" )) ")" )) ")" )); end; :: deftheorem defines :::"TranslationRel"::: MSUALG_6:def 3 : (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "b2")) "being" ($#m1_subset_1 :::"Relation":::) "of" (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" (Set (Var "S"))) "holds" (Bool "(" (Bool (Set (Var "b2")) ($#r1_hidden :::"="::: ) (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S")))) "iff" (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) "holds" (Bool "(" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "s1")) "," (Set (Var "s2")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Var "b2"))) "iff" (Bool "ex" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Var "S")) "st" (Bool "(" (Bool (Set ($#k2_msualg_1 :::"the_result_sort_of"::: ) (Set (Var "o"))) ($#r1_hidden :::"="::: ) (Set (Var "s2"))) & (Bool "ex" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) "st" (Bool "(" (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ))) & (Bool (Set (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i"))) ($#r1_hidden :::"="::: ) (Set (Var "s1"))) ")" )) ")" )) ")" )) ")" ))); theorem :: MSUALG_6:7 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "A")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "a")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "a")) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" ))) "holds" (Bool "for" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) (Bool "for" (Set (Var "x")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "A")) "," (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i")) ")" ) "holds" (Bool (Set (Set (Var "a")) ($#k2_funct_7 :::"+*"::: ) "(" (Set (Var "i")) "," (Set (Var "x")) ")" ) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" )))))))) ; theorem :: MSUALG_6:8 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A1")) "," (Set (Var "A2")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "h")) "being" ($#m2_pboole :::"ManySortedFunction":::) "of" (Set (Var "A1")) "," (Set (Var "A2")) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A1")) ")" ) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) )) & (Bool (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A2")) ")" ) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ))) "holds" (Bool "for" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" )))) "holds" (Bool "for" (Set (Var "x")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "A1")) "," (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i")) ")" ) "holds" (Bool (Set (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i")) ")" ) ")" ) ($#k1_funct_1 :::"."::: ) (Set (Var "x"))) ($#r2_hidden :::"in"::: ) (Set (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A2"))) ($#k1_funct_1 :::"."::: ) (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i")) ")" ))))))))) ; theorem :: MSUALG_6:9 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" )))) "holds" (Bool "for" (Set (Var "A1")) "," (Set (Var "A2")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "h")) "being" ($#m2_pboole :::"ManySortedFunction":::) "of" (Set (Var "A1")) "," (Set (Var "A2")) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A1")) ")" ) "st" (Bool (Bool (Set (Var "a")) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A1")) ")" )) & (Bool (Set (Set (Var "h")) ($#k5_msualg_3 :::"#"::: ) (Set (Var "a"))) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A2")) ")" ))) "holds" (Bool "for" (Set (Var "f")) "," (Set (Var "g1")) "," (Set (Var "g2")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "f")) ($#r1_hidden :::"="::: ) (Set (Var "a"))) & (Bool (Set (Var "g1")) ($#r1_hidden :::"="::: ) (Set (Set (Var "h")) ($#k5_msualg_3 :::"#"::: ) (Set (Var "a")))) & (Bool (Set (Var "g2")) ($#r1_hidden :::"="::: ) (Set (Set (Var "h")) ($#k5_msualg_3 :::"#"::: ) (Set (Var "b"))))) "holds" (Bool "for" (Set (Var "x")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "A1")) "," (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i")) ")" ) "st" (Bool (Bool (Set (Var "b")) ($#r1_hidden :::"="::: ) (Set (Set (Var "f")) ($#k2_funct_7 :::"+*"::: ) "(" (Set (Var "i")) "," (Set (Var "x")) ")" ))) "holds" (Bool "(" (Bool (Set (Set (Var "g2")) ($#k1_funct_1 :::"."::: ) (Set (Var "i"))) ($#r1_hidden :::"="::: ) (Set (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i")) ")" ) ")" ) ($#k1_funct_1 :::"."::: ) (Set (Var "x")))) & (Bool (Set (Set (Var "h")) ($#k5_msualg_3 :::"#"::: ) (Set (Var "b"))) ($#r1_hidden :::"="::: ) (Set (Set (Var "g1")) ($#k2_funct_7 :::"+*"::: ) "(" (Set (Var "i")) "," (Set "(" (Set (Var "g2")) ($#k1_funct_1 :::"."::: ) (Set (Var "i")) ")" ) ")" )) ")" ))))))))) ; definitionlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "o" be ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Const "S")); let "i" be ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ); let "A" be ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); let "a" be ($#m1_hidden :::"Function":::); func :::"transl"::: "(" "o" "," "i" "," "a" "," "A" ")" -> ($#m1_hidden :::"Function":::) means :: MSUALG_6:def 4 (Bool "(" (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) it) ($#r1_hidden :::"="::: ) (Set (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" "A") ($#k1_funct_1 :::"."::: ) (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) "o" ")" ) ($#k7_partfun1 :::"/."::: ) "i" ")" ))) & (Bool "(" "for" (Set (Var "x")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" "A") ($#k1_funct_1 :::"."::: ) (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) "o" ")" ) ($#k7_partfun1 :::"/."::: ) "i" ")" )))) "holds" (Bool (Set it ($#k1_funct_1 :::"."::: ) (Set (Var "x"))) ($#r1_hidden :::"="::: ) (Set (Set "(" ($#k5_msualg_1 :::"Den"::: ) "(" "o" "," "A" ")" ")" ) ($#k1_funct_1 :::"."::: ) (Set "(" "a" ($#k2_funct_7 :::"+*"::: ) "(" "i" "," (Set (Var "x")) ")" ")" ))) ")" ) ")" ); end; :: deftheorem defines :::"transl"::: MSUALG_6:def 4 : (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) (Bool "for" (Set (Var "A")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "a")) "," (Set (Var "b6")) "being" ($#m1_hidden :::"Function":::) "holds" (Bool "(" (Bool (Set (Var "b6")) ($#r1_hidden :::"="::: ) (Set ($#k4_msualg_6 :::"transl"::: ) "(" (Set (Var "o")) "," (Set (Var "i")) "," (Set (Var "a")) "," (Set (Var "A")) ")" )) "iff" (Bool "(" (Bool (Set ($#k9_xtuple_0 :::"dom"::: ) (Set (Var "b6"))) ($#r1_hidden :::"="::: ) (Set (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i")) ")" ))) & (Bool "(" "for" (Set (Var "x")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "x")) ($#r2_hidden :::"in"::: ) (Set (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i")) ")" )))) "holds" (Bool (Set (Set (Var "b6")) ($#k1_funct_1 :::"."::: ) (Set (Var "x"))) ($#r1_hidden :::"="::: ) (Set (Set "(" ($#k5_msualg_1 :::"Den"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" ")" ) ($#k1_funct_1 :::"."::: ) (Set "(" (Set (Var "a")) ($#k2_funct_7 :::"+*"::: ) "(" (Set (Var "i")) "," (Set (Var "x")) ")" ")" ))) ")" ) ")" ) ")" )))))); theorem :: MSUALG_6:10 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) (Bool "for" (Set (Var "A")) "being" ($#v1_msualg_6 :::"feasible"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "a")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "a")) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" ))) "holds" (Bool (Set ($#k4_msualg_6 :::"transl"::: ) "(" (Set (Var "o")) "," (Set (Var "i")) "," (Set (Var "a")) "," (Set (Var "A")) ")" ) "is" ($#m1_subset_1 :::"Function":::) "of" (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i")) ")" ) ")" ) "," (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set "(" ($#k2_msualg_1 :::"the_result_sort_of"::: ) (Set (Var "o")) ")" ) ")" ))))))) ; definitionlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "s1", "s2" be ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Const "S")); let "A" be ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); let "f" be ($#m1_hidden :::"Function":::); pred "f" :::"is_e.translation_of"::: "A" "," "s1" "," "s2" means :: MSUALG_6:def 5 (Bool "ex" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" "S" "st" (Bool "(" (Bool (Set ($#k2_msualg_1 :::"the_result_sort_of"::: ) (Set (Var "o"))) ($#r1_hidden :::"="::: ) "s2") & (Bool "ex" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) "st" (Bool "(" (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ))) & (Bool (Set (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i"))) ($#r1_hidden :::"="::: ) "s1") & (Bool "ex" (Set (Var "a")) "being" ($#m1_hidden :::"Function":::) "st" (Bool "(" (Bool (Set (Var "a")) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," "A" ")" )) & (Bool "f" ($#r1_hidden :::"="::: ) (Set ($#k4_msualg_6 :::"transl"::: ) "(" (Set (Var "o")) "," (Set (Var "i")) "," (Set (Var "a")) "," "A" ")" )) ")" )) ")" )) ")" )); end; :: deftheorem defines :::"is_e.translation_of"::: MSUALG_6:def 5 : (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "A")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "f")) "being" ($#m1_hidden :::"Function":::) "holds" (Bool "(" (Bool (Set (Var "f")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2"))) "iff" (Bool "ex" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Var "S")) "st" (Bool "(" (Bool (Set ($#k2_msualg_1 :::"the_result_sort_of"::: ) (Set (Var "o"))) ($#r1_hidden :::"="::: ) (Set (Var "s2"))) & (Bool "ex" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) "st" (Bool "(" (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ))) & (Bool (Set (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i"))) ($#r1_hidden :::"="::: ) (Set (Var "s1"))) & (Bool "ex" (Set (Var "a")) "being" ($#m1_hidden :::"Function":::) "st" (Bool "(" (Bool (Set (Var "a")) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" )) & (Bool (Set (Var "f")) ($#r1_hidden :::"="::: ) (Set ($#k4_msualg_6 :::"transl"::: ) "(" (Set (Var "o")) "," (Set (Var "i")) "," (Set (Var "a")) "," (Set (Var "A")) ")" )) ")" )) ")" )) ")" )) ")" ))))); theorem :: MSUALG_6:11 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "A")) "being" ($#v1_msualg_6 :::"feasible"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "f")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "f")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool "(" (Bool (Set (Var "f")) "is" ($#m1_subset_1 :::"Function":::) "of" (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s1")) ")" ) "," (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s2")) ")" )) & (Bool (Set (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s1"))) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) )) & (Bool (Set (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s2"))) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) )) ")" ))))) ; theorem :: MSUALG_6:12 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "A")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "f")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "f")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "s1")) "," (Set (Var "s2")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S")))))))) ; theorem :: MSUALG_6:13 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) "st" (Bool (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "s1")) "," (Set (Var "s2")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S"))))) "holds" (Bool "ex" (Set (Var "f")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Set (Var "f")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2"))))))) ; theorem :: MSUALG_6:14 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v1_msualg_6 :::"feasible"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "q")) "being" ($#m1_rewrite1 :::"RedSequence"::: ) "of" (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S"))) (Bool "for" (Set (Var "p")) "being" ($#v1_funcop_1 :::"Function-yielding"::: ) ($#m1_hidden :::"FinSequence":::) "st" (Bool (Bool (Set ($#k3_finseq_1 :::"len"::: ) (Set (Var "q"))) ($#r1_hidden :::"="::: ) (Set (Set "(" ($#k3_finseq_1 :::"len"::: ) (Set (Var "p")) ")" ) ($#k2_nat_1 :::"+"::: ) (Num 1))) & (Bool (Set (Var "s1")) ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Num 1))) & (Bool (Set (Var "s2")) ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Set "(" ($#k3_finseq_1 :::"len"::: ) (Set (Var "q")) ")" ))) & (Bool "(" "for" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) (Bool "for" (Set (Var "f")) "being" ($#m1_hidden :::"Function":::) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set (Var "p")))) & (Bool (Set (Var "f")) ($#r1_hidden :::"="::: ) (Set (Set (Var "p")) ($#k1_funct_1 :::"."::: ) (Set (Var "i")))) & (Bool (Set (Var "s1")) ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Set (Var "i")))) & (Bool (Set (Var "s2")) ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Set "(" (Set (Var "i")) ($#k2_nat_1 :::"+"::: ) (Num 1) ")" )))) "holds" (Bool (Set (Var "f")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2"))))) ")" )) "holds" (Bool "(" (Bool (Set ($#k4_funct_7 :::"compose"::: ) "(" (Set (Var "p")) "," (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s1")) ")" ) ")" ) "is" ($#m1_subset_1 :::"Function":::) "of" (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s1")) ")" ) "," (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s2")) ")" )) & "(" (Bool (Bool (Set (Var "p")) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) ))) "implies" (Bool "(" (Bool (Set (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s1"))) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) )) & (Bool (Set (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s2"))) ($#r1_hidden :::"<>"::: ) (Set ($#k1_xboole_0 :::"{}"::: ) )) ")" ) ")" ")" )))))) ; definitionlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); let "s1", "s2" be ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Const "S")); assume (Bool (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Const "S"))) ($#r1_rewrite1 :::"reduces"::: ) (Set (Const "s1")) "," (Set (Const "s2"))) ; mode :::"Translation"::: "of" "A" "," "s1" "," "s2" -> ($#m1_subset_1 :::"Function":::) "of" (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" "A") ($#k1_funct_1 :::"."::: ) "s1" ")" ) "," (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" "A") ($#k1_funct_1 :::"."::: ) "s2" ")" ) means :: MSUALG_6:def 6 (Bool "ex" (Set (Var "q")) "being" ($#m1_rewrite1 :::"RedSequence"::: ) "of" (Set ($#k3_msualg_6 :::"TranslationRel"::: ) "S")(Bool "ex" (Set (Var "p")) "being" ($#v1_funcop_1 :::"Function-yielding"::: ) ($#m1_hidden :::"FinSequence":::) "st" (Bool "(" (Bool it ($#r1_hidden :::"="::: ) (Set ($#k4_funct_7 :::"compose"::: ) "(" (Set (Var "p")) "," (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" "A") ($#k1_funct_1 :::"."::: ) "s1" ")" ) ")" )) & (Bool (Set ($#k3_finseq_1 :::"len"::: ) (Set (Var "q"))) ($#r1_hidden :::"="::: ) (Set (Set "(" ($#k3_finseq_1 :::"len"::: ) (Set (Var "p")) ")" ) ($#k2_nat_1 :::"+"::: ) (Num 1))) & (Bool "s1" ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Num 1))) & (Bool "s2" ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Set "(" ($#k3_finseq_1 :::"len"::: ) (Set (Var "q")) ")" ))) & (Bool "(" "for" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) (Bool "for" (Set (Var "f")) "being" ($#m1_hidden :::"Function":::) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" "S" "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set (Var "p")))) & (Bool (Set (Var "f")) ($#r1_hidden :::"="::: ) (Set (Set (Var "p")) ($#k1_funct_1 :::"."::: ) (Set (Var "i")))) & (Bool (Set (Var "s1")) ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Set (Var "i")))) & (Bool (Set (Var "s2")) ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Set "(" (Set (Var "i")) ($#k2_nat_1 :::"+"::: ) (Num 1) ")" )))) "holds" (Bool (Set (Var "f")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) "A" "," (Set (Var "s1")) "," (Set (Var "s2"))))) ")" ) ")" ))); end; :: deftheorem defines :::"Translation"::: MSUALG_6:def 6 : (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S"))) ($#r1_rewrite1 :::"reduces"::: ) (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool "for" (Set (Var "b5")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s1")) ")" ) "," (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s2")) ")" ) "holds" (Bool "(" (Bool (Set (Var "b5")) "is" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2"))) "iff" (Bool "ex" (Set (Var "q")) "being" ($#m1_rewrite1 :::"RedSequence"::: ) "of" (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S")))(Bool "ex" (Set (Var "p")) "being" ($#v1_funcop_1 :::"Function-yielding"::: ) ($#m1_hidden :::"FinSequence":::) "st" (Bool "(" (Bool (Set (Var "b5")) ($#r1_hidden :::"="::: ) (Set ($#k4_funct_7 :::"compose"::: ) "(" (Set (Var "p")) "," (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s1")) ")" ) ")" )) & (Bool (Set ($#k3_finseq_1 :::"len"::: ) (Set (Var "q"))) ($#r1_hidden :::"="::: ) (Set (Set "(" ($#k3_finseq_1 :::"len"::: ) (Set (Var "p")) ")" ) ($#k2_nat_1 :::"+"::: ) (Num 1))) & (Bool (Set (Var "s1")) ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Num 1))) & (Bool (Set (Var "s2")) ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Set "(" ($#k3_finseq_1 :::"len"::: ) (Set (Var "q")) ")" ))) & (Bool "(" "for" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) (Bool "for" (Set (Var "f")) "being" ($#m1_hidden :::"Function":::) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set (Var "p")))) & (Bool (Set (Var "f")) ($#r1_hidden :::"="::: ) (Set (Set (Var "p")) ($#k1_funct_1 :::"."::: ) (Set (Var "i")))) & (Bool (Set (Var "s1")) ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Set (Var "i")))) & (Bool (Set (Var "s2")) ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Set "(" (Set (Var "i")) ($#k2_nat_1 :::"+"::: ) (Num 1) ")" )))) "holds" (Bool (Set (Var "f")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2"))))) ")" ) ")" ))) ")" ))))); theorem :: MSUALG_6:15 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S"))) ($#r1_rewrite1 :::"reduces"::: ) (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool "for" (Set (Var "q")) "being" ($#m1_rewrite1 :::"RedSequence"::: ) "of" (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S"))) (Bool "for" (Set (Var "p")) "being" ($#v1_funcop_1 :::"Function-yielding"::: ) ($#m1_hidden :::"FinSequence":::) "st" (Bool (Bool (Set ($#k3_finseq_1 :::"len"::: ) (Set (Var "q"))) ($#r1_hidden :::"="::: ) (Set (Set "(" ($#k3_finseq_1 :::"len"::: ) (Set (Var "p")) ")" ) ($#k2_nat_1 :::"+"::: ) (Num 1))) & (Bool (Set (Var "s1")) ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Num 1))) & (Bool (Set (Var "s2")) ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Set "(" ($#k3_finseq_1 :::"len"::: ) (Set (Var "q")) ")" ))) & (Bool "(" "for" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) (Bool "for" (Set (Var "f")) "being" ($#m1_hidden :::"Function":::) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set (Var "p")))) & (Bool (Set (Var "f")) ($#r1_hidden :::"="::: ) (Set (Set (Var "p")) ($#k1_funct_1 :::"."::: ) (Set (Var "i")))) & (Bool (Set (Var "s1")) ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Set (Var "i")))) & (Bool (Set (Var "s2")) ($#r1_hidden :::"="::: ) (Set (Set (Var "q")) ($#k1_funct_1 :::"."::: ) (Set "(" (Set (Var "i")) ($#k2_nat_1 :::"+"::: ) (Num 1) ")" )))) "holds" (Bool (Set (Var "f")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2"))))) ")" )) "holds" (Bool (Set ($#k4_funct_7 :::"compose"::: ) "(" (Set (Var "p")) "," (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s1")) ")" ) ")" ) "is" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2")))))))) ; theorem :: MSUALG_6:16 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "s")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) "holds" (Bool (Set ($#k6_partfun1 :::"id"::: ) (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s")) ")" )) "is" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s")) "," (Set (Var "s")))))) ; theorem :: MSUALG_6:17 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "f")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "f")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool "(" (Bool (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S"))) ($#r1_rewrite1 :::"reduces"::: ) (Set (Var "s1")) "," (Set (Var "s2"))) & (Bool (Set (Var "f")) "is" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2"))) ")" ))))) ; theorem :: MSUALG_6:18 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "," (Set (Var "s3")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S"))) ($#r1_rewrite1 :::"reduces"::: ) (Set (Var "s1")) "," (Set (Var "s2"))) & (Bool (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S"))) ($#r1_rewrite1 :::"reduces"::: ) (Set (Var "s2")) "," (Set (Var "s3")))) "holds" (Bool "for" (Set (Var "t1")) "being" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2")) (Bool "for" (Set (Var "t2")) "being" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s2")) "," (Set (Var "s3")) "holds" (Bool (Set (Set (Var "t2")) ($#k1_partfun1 :::"*"::: ) (Set (Var "t1"))) "is" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s3")))))))) ; theorem :: MSUALG_6:19 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "," (Set (Var "s3")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S"))) ($#r1_rewrite1 :::"reduces"::: ) (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool "for" (Set (Var "t")) "being" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2")) (Bool "for" (Set (Var "f")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "f")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A")) "," (Set (Var "s2")) "," (Set (Var "s3")))) "holds" (Bool (Set (Set (Var "f")) ($#k3_relat_1 :::"*"::: ) (Set (Var "t"))) "is" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s3")))))))) ; theorem :: MSUALG_6:20 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "," (Set (Var "s3")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S"))) ($#r1_rewrite1 :::"reduces"::: ) (Set (Var "s2")) "," (Set (Var "s3")))) "holds" (Bool "for" (Set (Var "f")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "f")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool "for" (Set (Var "t")) "being" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s2")) "," (Set (Var "s3")) "holds" (Bool (Set (Set (Var "t")) ($#k3_relat_1 :::"*"::: ) (Set (Var "f"))) "is" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s3")))))))) ; scheme :: MSUALG_6:sch 1 TranslationInd{ F1() -> ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) , F2() -> ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set F1 "(" ")" ), P1[ ($#m1_hidden :::"set"::: ) "," ($#m1_hidden :::"set"::: ) "," ($#m1_hidden :::"set"::: ) ] } : (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set F1 "(" ")" ) "st" (Bool (Bool (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set F1 "(" ")" )) ($#r1_rewrite1 :::"reduces"::: ) (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool "for" (Set (Var "t")) "being" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set F2 "(" ")" ) "," (Set (Var "s1")) "," (Set (Var "s2")) "holds" (Bool P1[(Set (Var "t")) "," (Set (Var "s1")) "," (Set (Var "s2"))]))) provided (Bool "for" (Set (Var "s")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set F1 "(" ")" ) "holds" (Bool P1[(Set ($#k6_partfun1 :::"id"::: ) (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set F2 "(" ")" )) ($#k1_funct_1 :::"."::: ) (Set (Var "s")) ")" )) "," (Set (Var "s")) "," (Set (Var "s"))])) and (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "," (Set (Var "s3")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set F1 "(" ")" ) "st" (Bool (Bool (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set F1 "(" ")" )) ($#r1_rewrite1 :::"reduces"::: ) (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool "for" (Set (Var "t")) "being" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set F2 "(" ")" ) "," (Set (Var "s1")) "," (Set (Var "s2")) "st" (Bool (Bool P1[(Set (Var "t")) "," (Set (Var "s1")) "," (Set (Var "s2"))])) "holds" (Bool "for" (Set (Var "f")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "f")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set F2 "(" ")" ) "," (Set (Var "s2")) "," (Set (Var "s3")))) "holds" (Bool P1[(Set (Set (Var "f")) ($#k3_relat_1 :::"*"::: ) (Set (Var "t"))) "," (Set (Var "s1")) "," (Set (Var "s3"))])))) proof end; theorem :: MSUALG_6:21 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A1")) "," (Set (Var "A2")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "h")) "being" ($#m2_pboole :::"ManySortedFunction":::) "of" (Set (Var "A1")) "," (Set (Var "A2")) "st" (Bool (Bool (Set (Var "h")) ($#r1_msualg_3 :::"is_homomorphism"::: ) (Set (Var "A1")) "," (Set (Var "A2")))) "holds" (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" )))) "holds" (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A1")) ")" ) "holds" (Bool (Set (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set "(" ($#k2_msualg_1 :::"the_result_sort_of"::: ) (Set (Var "o")) ")" ) ")" ) ($#k3_relat_1 :::"*"::: ) (Set "(" ($#k4_msualg_6 :::"transl"::: ) "(" (Set (Var "o")) "," (Set (Var "i")) "," (Set (Var "a")) "," (Set (Var "A1")) ")" ")" )) ($#r1_hidden :::"="::: ) (Set (Set "(" ($#k4_msualg_6 :::"transl"::: ) "(" (Set (Var "o")) "," (Set (Var "i")) "," (Set "(" (Set (Var "h")) ($#k5_msualg_3 :::"#"::: ) (Set (Var "a")) ")" ) "," (Set (Var "A2")) ")" ")" ) ($#k3_relat_1 :::"*"::: ) (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i")) ")" ) ")" ))))))))) ; theorem :: MSUALG_6:22 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "h")) "being" ($#m1_msualg_6 :::"Endomorphism"::: ) "of" (Set (Var "A")) (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" )))) "holds" (Bool "for" (Set (Var "a")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" ) "holds" (Bool (Set (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set "(" ($#k2_msualg_1 :::"the_result_sort_of"::: ) (Set (Var "o")) ")" ) ")" ) ($#k3_relat_1 :::"*"::: ) (Set "(" ($#k4_msualg_6 :::"transl"::: ) "(" (Set (Var "o")) "," (Set (Var "i")) "," (Set (Var "a")) "," (Set (Var "A")) ")" ")" )) ($#r1_hidden :::"="::: ) (Set (Set "(" ($#k4_msualg_6 :::"transl"::: ) "(" (Set (Var "o")) "," (Set (Var "i")) "," (Set "(" (Set (Var "h")) ($#k5_msualg_3 :::"#"::: ) (Set (Var "a")) ")" ) "," (Set (Var "A")) ")" ")" ) ($#k3_relat_1 :::"*"::: ) (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "i")) ")" ) ")" ))))))))) ; theorem :: MSUALG_6:23 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A1")) "," (Set (Var "A2")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "h")) "being" ($#m2_pboole :::"ManySortedFunction":::) "of" (Set (Var "A1")) "," (Set (Var "A2")) "st" (Bool (Bool (Set (Var "h")) ($#r1_msualg_3 :::"is_homomorphism"::: ) (Set (Var "A1")) "," (Set (Var "A2")))) "holds" (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "t")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "t")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A1")) "," (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool "ex" (Set (Var "T")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A2"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s1")) ")" ) "," (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A2"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s2")) ")" ) "st" (Bool "(" (Bool (Set (Var "T")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A2")) "," (Set (Var "s1")) "," (Set (Var "s2"))) & (Bool (Set (Set (Var "T")) ($#k1_partfun1 :::"*"::: ) (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s1")) ")" )) ($#r1_hidden :::"="::: ) (Set (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s2")) ")" ) ($#k3_relat_1 :::"*"::: ) (Set (Var "t")))) ")" ))))))) ; theorem :: MSUALG_6:24 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "h")) "being" ($#m1_msualg_6 :::"Endomorphism"::: ) "of" (Set (Var "A")) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "t")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "t")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool "ex" (Set (Var "T")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s1")) ")" ) "," (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) ($#k1_funct_1 :::"."::: ) (Set (Var "s2")) ")" ) "st" (Bool "(" (Bool (Set (Var "T")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2"))) & (Bool (Set (Set (Var "T")) ($#k1_partfun1 :::"*"::: ) (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s1")) ")" )) ($#r1_hidden :::"="::: ) (Set (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s2")) ")" ) ($#k3_relat_1 :::"*"::: ) (Set (Var "t")))) ")" ))))))) ; theorem :: MSUALG_6:25 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A1")) "," (Set (Var "A2")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "h")) "being" ($#m2_pboole :::"ManySortedFunction":::) "of" (Set (Var "A1")) "," (Set (Var "A2")) "st" (Bool (Bool (Set (Var "h")) ($#r1_msualg_3 :::"is_homomorphism"::: ) (Set (Var "A1")) "," (Set (Var "A2")))) "holds" (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S"))) ($#r1_rewrite1 :::"reduces"::: ) (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool "for" (Set (Var "t")) "being" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A1")) "," (Set (Var "s1")) "," (Set (Var "s2")) (Bool "ex" (Set (Var "T")) "being" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A2")) "," (Set (Var "s1")) "," (Set (Var "s2")) "st" (Bool (Set (Set (Var "T")) ($#k1_partfun1 :::"*"::: ) (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s1")) ")" )) ($#r2_funct_2 :::"="::: ) (Set (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s2")) ")" ) ($#k1_partfun1 :::"*"::: ) (Set (Var "t")))))))))) ; theorem :: MSUALG_6:26 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "h")) "being" ($#m1_msualg_6 :::"Endomorphism"::: ) "of" (Set (Var "A")) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S"))) ($#r1_rewrite1 :::"reduces"::: ) (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool "for" (Set (Var "t")) "being" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2")) (Bool "ex" (Set (Var "T")) "being" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2")) "st" (Bool (Set (Set (Var "T")) ($#k1_partfun1 :::"*"::: ) (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s1")) ")" )) ($#r2_funct_2 :::"="::: ) (Set (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s2")) ")" ) ($#k1_partfun1 :::"*"::: ) (Set (Var "t")))))))))) ; begin definitionlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); let "R" be ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Const "A")); attr "R" is :::"compatible"::: means :: MSUALG_6:def 7 (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" "S" (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "a")) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," "A" ")" )) & (Bool (Set (Var "b")) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," "A" ")" )) & (Bool "(" "for" (Set (Var "n")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) "st" (Bool (Bool (Set (Var "n")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" )))) "holds" (Bool (Set ($#k4_tarski :::"["::: ) (Set "(" (Set (Var "a")) ($#k1_funct_1 :::"."::: ) (Set (Var "n")) ")" ) "," (Set "(" (Set (Var "b")) ($#k1_funct_1 :::"."::: ) (Set (Var "n")) ")" ) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set "R" ($#k1_msualg_4 :::"."::: ) (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "n")) ")" ))) ")" )) "holds" (Bool (Set ($#k4_tarski :::"["::: ) (Set "(" (Set "(" ($#k5_msualg_1 :::"Den"::: ) "(" (Set (Var "o")) "," "A" ")" ")" ) ($#k1_funct_1 :::"."::: ) (Set (Var "a")) ")" ) "," (Set "(" (Set "(" ($#k5_msualg_1 :::"Den"::: ) "(" (Set (Var "o")) "," "A" ")" ")" ) ($#k1_funct_1 :::"."::: ) (Set (Var "b")) ")" ) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set "R" ($#k1_msualg_4 :::"."::: ) (Set "(" ($#k2_msualg_1 :::"the_result_sort_of"::: ) (Set (Var "o")) ")" ))))); attr "R" is :::"invariant"::: means :: MSUALG_6:def 8 (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" "S" (Bool "for" (Set (Var "t")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "t")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) "A" "," (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set "R" ($#k1_msualg_4 :::"."::: ) (Set (Var "s1"))))) "holds" (Bool (Set ($#k4_tarski :::"["::: ) (Set "(" (Set (Var "t")) ($#k1_funct_1 :::"."::: ) (Set (Var "a")) ")" ) "," (Set "(" (Set (Var "t")) ($#k1_funct_1 :::"."::: ) (Set (Var "b")) ")" ) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set "R" ($#k1_msualg_4 :::"."::: ) (Set (Var "s2"))))))); attr "R" is :::"stable"::: means :: MSUALG_6:def 9 (Bool "for" (Set (Var "h")) "being" ($#m1_msualg_6 :::"Endomorphism"::: ) "of" "A" (Bool "for" (Set (Var "s")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" "S" (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set "R" ($#k1_msualg_4 :::"."::: ) (Set (Var "s"))))) "holds" (Bool (Set ($#k4_tarski :::"["::: ) (Set "(" (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s")) ")" ) ($#k1_funct_1 :::"."::: ) (Set (Var "a")) ")" ) "," (Set "(" (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s")) ")" ) ($#k1_funct_1 :::"."::: ) (Set (Var "b")) ")" ) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set "R" ($#k1_msualg_4 :::"."::: ) (Set (Var "s"))))))); end; :: deftheorem defines :::"compatible"::: MSUALG_6:def 7 : (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Var "R")) "is" ($#v2_msualg_6 :::"compatible"::: ) ) "iff" (Bool "for" (Set (Var "o")) "being" ($#m1_subset_1 :::"OperSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "a")) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" )) & (Bool (Set (Var "b")) ($#r2_hidden :::"in"::: ) (Set ($#k3_msualg_1 :::"Args"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" )) & (Bool "(" "for" (Set (Var "n")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set ($#k5_numbers :::"NAT"::: ) ) "st" (Bool (Bool (Set (Var "n")) ($#r2_hidden :::"in"::: ) (Set ($#k4_finseq_1 :::"dom"::: ) (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" )))) "holds" (Bool (Set ($#k4_tarski :::"["::: ) (Set "(" (Set (Var "a")) ($#k1_funct_1 :::"."::: ) (Set (Var "n")) ")" ) "," (Set "(" (Set (Var "b")) ($#k1_funct_1 :::"."::: ) (Set (Var "n")) ")" ) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set "(" (Set "(" ($#k1_msualg_1 :::"the_arity_of"::: ) (Set (Var "o")) ")" ) ($#k7_partfun1 :::"/."::: ) (Set (Var "n")) ")" ))) ")" )) "holds" (Bool (Set ($#k4_tarski :::"["::: ) (Set "(" (Set "(" ($#k5_msualg_1 :::"Den"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" ")" ) ($#k1_funct_1 :::"."::: ) (Set (Var "a")) ")" ) "," (Set "(" (Set "(" ($#k5_msualg_1 :::"Den"::: ) "(" (Set (Var "o")) "," (Set (Var "A")) ")" ")" ) ($#k1_funct_1 :::"."::: ) (Set (Var "b")) ")" ) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set "(" ($#k2_msualg_1 :::"the_result_sort_of"::: ) (Set (Var "o")) ")" ))))) ")" )))); :: deftheorem defines :::"invariant"::: MSUALG_6:def 8 : (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Var "R")) "is" ($#v3_msualg_6 :::"invariant"::: ) ) "iff" (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "t")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "t")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s1"))))) "holds" (Bool (Set ($#k4_tarski :::"["::: ) (Set "(" (Set (Var "t")) ($#k1_funct_1 :::"."::: ) (Set (Var "a")) ")" ) "," (Set "(" (Set (Var "t")) ($#k1_funct_1 :::"."::: ) (Set (Var "b")) ")" ) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s2"))))))) ")" )))); :: deftheorem defines :::"stable"::: MSUALG_6:def 9 : (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Var "R")) "is" ($#v4_msualg_6 :::"stable"::: ) ) "iff" (Bool "for" (Set (Var "h")) "being" ($#m1_msualg_6 :::"Endomorphism"::: ) "of" (Set (Var "A")) (Bool "for" (Set (Var "s")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s"))))) "holds" (Bool (Set ($#k4_tarski :::"["::: ) (Set "(" (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s")) ")" ) ($#k1_funct_1 :::"."::: ) (Set (Var "a")) ")" ) "," (Set "(" (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s")) ")" ) ($#k1_funct_1 :::"."::: ) (Set (Var "b")) ")" ) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s"))))))) ")" )))); theorem :: MSUALG_6:27 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#v2_msualg_4 :::"MSEquivalence-like"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Var "R")) "is" ($#v2_msualg_6 :::"compatible"::: ) ) "iff" (Bool (Set (Var "R")) "is" ($#m1_msualg_4 :::"MSCongruence":::) "of" (Set (Var "A"))) ")" )))) ; theorem :: MSUALG_6:28 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Var "R")) "is" ($#v3_msualg_6 :::"invariant"::: ) ) "iff" (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) "st" (Bool (Bool (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S"))) ($#r1_rewrite1 :::"reduces"::: ) (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool "for" (Set (Var "f")) "being" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2")) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s1"))))) "holds" (Bool (Set ($#k4_tarski :::"["::: ) (Set "(" (Set (Var "f")) ($#k1_funct_1 :::"."::: ) (Set (Var "a")) ")" ) "," (Set "(" (Set (Var "f")) ($#k1_funct_1 :::"."::: ) (Set (Var "b")) ")" ) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s2"))))))) ")" )))) ; registrationlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); cluster ($#v2_msualg_4 :::"MSEquivalence-like"::: ) ($#v3_msualg_6 :::"invariant"::: ) -> ($#v2_msualg_4 :::"MSEquivalence-like"::: ) ($#v2_msualg_6 :::"compatible"::: ) for ($#m1_msualg_4 :::"ManySortedRelation"::: ) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" "A") "," (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" "A"); cluster ($#v2_msualg_4 :::"MSEquivalence-like"::: ) ($#v2_msualg_6 :::"compatible"::: ) -> ($#v2_msualg_4 :::"MSEquivalence-like"::: ) ($#v3_msualg_6 :::"invariant"::: ) for ($#m1_msualg_4 :::"ManySortedRelation"::: ) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" "A") "," (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" "A"); end; registrationlet "X" be ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) ; cluster (Set ($#k4_relat_1 :::"id"::: ) "X") -> ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ; end; scheme :: MSUALG_6:sch 2 MSRExistence{ F1() -> ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) , F2() -> bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set F1 "(" ")" ), P1[ ($#m1_hidden :::"set"::: ) "," ($#m1_hidden :::"set"::: ) "," ($#m1_hidden :::"set"::: ) ] } : (Bool "ex" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set F2 "(" ")" ) "st" (Bool "for" (Set (Var "i")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set F1 "(" ")" ) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Set F2 "(" ")" ) ($#k1_funct_1 :::"."::: ) (Set (Var "i"))) "holds" (Bool "(" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "i")))) "iff" (Bool P1[(Set (Var "i")) "," (Set (Var "a")) "," (Set (Var "b"))]) ")" )))) proof end; scheme :: MSUALG_6:sch 3 MSRLambdaU{ F1() -> ($#m1_hidden :::"set"::: ) , F2() -> ($#m1_hidden :::"ManySortedSet":::) "of" (Set F1 "(" ")" ), F3( ($#m1_hidden :::"set"::: ) ) -> ($#m1_hidden :::"set"::: ) } : (Bool "(" (Bool "ex" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set F2 "(" ")" ) "st" (Bool "for" (Set (Var "i")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set F1 "(" ")" ))) "holds" (Bool (Set (Set (Var "R")) ($#k1_funct_1 :::"."::: ) (Set (Var "i"))) ($#r1_hidden :::"="::: ) (Set F3 "(" (Set (Var "i")) ")" )))) & (Bool "(" "for" (Set (Var "R1")) "," (Set (Var "R2")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set F2 "(" ")" ) "st" (Bool (Bool "(" "for" (Set (Var "i")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set F1 "(" ")" ))) "holds" (Bool (Set (Set (Var "R1")) ($#k1_funct_1 :::"."::: ) (Set (Var "i"))) ($#r1_hidden :::"="::: ) (Set F3 "(" (Set (Var "i")) ")" )) ")" ) & (Bool "(" "for" (Set (Var "i")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set F1 "(" ")" ))) "holds" (Bool (Set (Set (Var "R2")) ($#k1_funct_1 :::"."::: ) (Set (Var "i"))) ($#r1_hidden :::"="::: ) (Set F3 "(" (Set (Var "i")) ")" )) ")" )) "holds" (Bool (Set (Var "R1")) ($#r6_pboole :::"="::: ) (Set (Var "R2"))) ")" ) ")" ) provided (Bool "for" (Set (Var "i")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "i")) ($#r2_hidden :::"in"::: ) (Set F1 "(" ")" ))) "holds" (Bool (Set F3 "(" (Set (Var "i")) ")" ) "is" ($#m1_subset_1 :::"Relation":::) "of" (Set "(" (Set F2 "(" ")" ) ($#k1_funct_1 :::"."::: ) (Set (Var "i")) ")" ) "," (Set "(" (Set F2 "(" ")" ) ($#k1_funct_1 :::"."::: ) (Set (Var "i")) ")" ))) proof end; definitionlet "I" be ($#m1_hidden :::"set"::: ) ; let "A" be ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Const "I")); func :::"id"::: "(" "I" "," "A" ")" -> ($#m1_msualg_4 :::"ManySortedRelation":::) "of" "A" means :: MSUALG_6:def 10 (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 ($#k6_partfun1 :::"id"::: ) (Set "(" "A" ($#k1_funct_1 :::"."::: ) (Set (Var "i")) ")" )))); end; :: deftheorem defines :::"id"::: MSUALG_6:def 10 : (Bool "for" (Set (Var "I")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "I")) (Bool "for" (Set (Var "b3")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Var "b3")) ($#r1_hidden :::"="::: ) (Set ($#k5_msualg_6 :::"id"::: ) "(" (Set (Var "I")) "," (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 ($#k6_partfun1 :::"id"::: ) (Set "(" (Set (Var "A")) ($#k1_funct_1 :::"."::: ) (Set (Var "i")) ")" )))) ")" )))); registrationlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); cluster ($#v2_msualg_4 :::"MSEquivalence-like"::: ) -> bbbadV2_RELAT_1() for ($#m1_msualg_4 :::"ManySortedRelation"::: ) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" "A") "," (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" "A"); end; registrationlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); cluster ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#v1_relat_1 :::"Relation-like"::: ) (Set "the" ($#u1_struct_0 :::"carrier"::: ) "of" "S") ($#v4_relat_1 :::"-defined"::: ) ($#v1_funct_1 :::"Function-like"::: ) ($#v1_partfun1 :::"total"::: ) ($#v2_funcop_1 :::"Relation-yielding"::: ) ($#v2_msualg_4 :::"MSEquivalence-like"::: ) ($#v3_msualg_6 :::"invariant"::: ) ($#v4_msualg_6 :::"stable"::: ) for ($#m1_msualg_4 :::"ManySortedRelation"::: ) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" "A") "," (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" "A"); end; begin scheme :: MSUALG_6:sch 4 MSRelCl{ F1() -> ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) , F2() -> ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set F1 "(" ")" ), P1[ ($#m1_hidden :::"set"::: ) "," ($#m1_hidden :::"set"::: ) "," ($#m1_hidden :::"set"::: ) ], P2[ ($#m1_hidden :::"set"::: ) ], F3() -> ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set F2 "(" ")" ), F4() -> ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set F2 "(" ")" ) } : (Bool "(" (Bool P2[(Set F4 "(" ")" )]) & (Bool (Set F3 "(" ")" ) ($#r2_pboole :::"c="::: ) (Set F4 "(" ")" )) & (Bool "(" "for" (Set (Var "P")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set F2 "(" ")" ) "st" (Bool (Bool P2[(Set (Var "P"))]) & (Bool (Set F3 "(" ")" ) ($#r2_pboole :::"c="::: ) (Set (Var "P")))) "holds" (Bool (Set F4 "(" ")" ) ($#r2_pboole :::"c="::: ) (Set (Var "P"))) ")" ) ")" ) provided (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set F2 "(" ")" ) "holds" (Bool "(" (Bool P2[(Set (Var "R"))]) "iff" (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set F1 "(" ")" ) (Bool "for" (Set (Var "f")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set F2 "(" ")" )) ($#k1_funct_1 :::"."::: ) (Set (Var "s1")) ")" ) "," (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set F2 "(" ")" )) ($#k1_funct_1 :::"."::: ) (Set (Var "s2")) ")" ) "st" (Bool (Bool P1[(Set (Var "f")) "," (Set (Var "s1")) "," (Set (Var "s2"))])) "holds" (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s1"))))) "holds" (Bool (Set ($#k4_tarski :::"["::: ) (Set "(" (Set (Var "f")) ($#k1_funct_1 :::"."::: ) (Set (Var "a")) ")" ) "," (Set "(" (Set (Var "f")) ($#k1_funct_1 :::"."::: ) (Set (Var "b")) ")" ) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s2"))))))) ")" )) and (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "," (Set (Var "s3")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set F1 "(" ")" ) (Bool "for" (Set (Var "f1")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set F2 "(" ")" )) ($#k1_funct_1 :::"."::: ) (Set (Var "s1")) ")" ) "," (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set F2 "(" ")" )) ($#k1_funct_1 :::"."::: ) (Set (Var "s2")) ")" ) (Bool "for" (Set (Var "f2")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set F2 "(" ")" )) ($#k1_funct_1 :::"."::: ) (Set (Var "s2")) ")" ) "," (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set F2 "(" ")" )) ($#k1_funct_1 :::"."::: ) (Set (Var "s3")) ")" ) "st" (Bool (Bool P1[(Set (Var "f1")) "," (Set (Var "s1")) "," (Set (Var "s2"))]) & (Bool P1[(Set (Var "f2")) "," (Set (Var "s2")) "," (Set (Var "s3"))])) "holds" (Bool P1[(Set (Set (Var "f2")) ($#k1_partfun1 :::"*"::: ) (Set (Var "f1"))) "," (Set (Var "s1")) "," (Set (Var "s3"))])))) and (Bool "for" (Set (Var "s")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set F1 "(" ")" ) "holds" (Bool P1[(Set ($#k6_partfun1 :::"id"::: ) (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set F2 "(" ")" )) ($#k1_funct_1 :::"."::: ) (Set (Var "s")) ")" )) "," (Set (Var "s")) "," (Set (Var "s"))])) and (Bool "for" (Set (Var "s")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set F1 "(" ")" ) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set F2 "(" ")" ) "," (Set (Var "s")) "holds" (Bool "(" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set F4 "(" ")" ) ($#k1_msualg_4 :::"."::: ) (Set (Var "s")))) "iff" (Bool "ex" (Set (Var "s9")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set F1 "(" ")" )(Bool "ex" (Set (Var "f")) "being" ($#m1_subset_1 :::"Function":::) "of" (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set F2 "(" ")" )) ($#k1_funct_1 :::"."::: ) (Set (Var "s9")) ")" ) "," (Set "(" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set F2 "(" ")" )) ($#k1_funct_1 :::"."::: ) (Set (Var "s")) ")" )(Bool "ex" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set F2 "(" ")" ) "," (Set (Var "s9")) "st" (Bool "(" (Bool P1[(Set (Var "f")) "," (Set (Var "s9")) "," (Set (Var "s"))]) & (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "x")) "," (Set (Var "y")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set F3 "(" ")" ) ($#k1_msualg_4 :::"."::: ) (Set (Var "s9")))) & (Bool (Set (Var "a")) ($#r1_hidden :::"="::: ) (Set (Set (Var "f")) ($#k3_funct_2 :::"."::: ) (Set (Var "x")))) & (Bool (Set (Var "b")) ($#r1_hidden :::"="::: ) (Set (Set (Var "f")) ($#k3_funct_2 :::"."::: ) (Set (Var "y")))) ")" )))) ")" ))) proof end; definitionlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); let "R" be ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Const "A"))); func :::"InvCl"::: "R" -> ($#v3_msualg_6 :::"invariant"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" "A" means :: MSUALG_6:def 11 (Bool "(" (Bool "R" ($#r2_pboole :::"c="::: ) it) & (Bool "(" "for" (Set (Var "Q")) "being" ($#v3_msualg_6 :::"invariant"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" "A" "st" (Bool (Bool "R" ($#r2_pboole :::"c="::: ) (Set (Var "Q")))) "holds" (Bool it ($#r2_pboole :::"c="::: ) (Set (Var "Q"))) ")" ) ")" ); end; :: deftheorem defines :::"InvCl"::: MSUALG_6:def 11 : (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) (Bool "for" (Set (Var "b4")) "being" ($#v3_msualg_6 :::"invariant"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k6_msualg_6 :::"InvCl"::: ) (Set (Var "R")))) "iff" (Bool "(" (Bool (Set (Var "R")) ($#r2_pboole :::"c="::: ) (Set (Var "b4"))) & (Bool "(" "for" (Set (Var "Q")) "being" ($#v3_msualg_6 :::"invariant"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "st" (Bool (Bool (Set (Var "R")) ($#r2_pboole :::"c="::: ) (Set (Var "Q")))) "holds" (Bool (Set (Var "b4")) ($#r2_pboole :::"c="::: ) (Set (Var "Q"))) ")" ) ")" ) ")" ))))); theorem :: MSUALG_6:29 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) (Bool "for" (Set (Var "s")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "A")) "," (Set (Var "s")) "holds" (Bool "(" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set "(" ($#k6_msualg_6 :::"InvCl"::: ) (Set (Var "R")) ")" ) ($#k1_msualg_4 :::"."::: ) (Set (Var "s")))) "iff" (Bool "ex" (Set (Var "s9")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S"))(Bool "ex" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "A")) "," (Set (Var "s9"))(Bool "ex" (Set (Var "t")) "being" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s9")) "," (Set (Var "s")) "st" (Bool "(" (Bool (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S"))) ($#r1_rewrite1 :::"reduces"::: ) (Set (Var "s9")) "," (Set (Var "s"))) & (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "x")) "," (Set (Var "y")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s9")))) & (Bool (Set (Var "a")) ($#r1_hidden :::"="::: ) (Set (Set (Var "t")) ($#k3_funct_2 :::"."::: ) (Set (Var "x")))) & (Bool (Set (Var "b")) ($#r1_hidden :::"="::: ) (Set (Set (Var "t")) ($#k3_funct_2 :::"."::: ) (Set (Var "y")))) ")" )))) ")" )))))) ; theorem :: MSUALG_6:30 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#v4_msualg_6 :::"stable"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool (Set ($#k6_msualg_6 :::"InvCl"::: ) (Set (Var "R"))) "is" ($#v4_msualg_6 :::"stable"::: ) )))) ; definitionlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); let "R" be ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Const "A"))); func :::"StabCl"::: "R" -> ($#v4_msualg_6 :::"stable"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" "A" means :: MSUALG_6:def 12 (Bool "(" (Bool "R" ($#r2_pboole :::"c="::: ) it) & (Bool "(" "for" (Set (Var "Q")) "being" ($#v4_msualg_6 :::"stable"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" "A" "st" (Bool (Bool "R" ($#r2_pboole :::"c="::: ) (Set (Var "Q")))) "holds" (Bool it ($#r2_pboole :::"c="::: ) (Set (Var "Q"))) ")" ) ")" ); end; :: deftheorem defines :::"StabCl"::: MSUALG_6:def 12 : (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) (Bool "for" (Set (Var "b4")) "being" ($#v4_msualg_6 :::"stable"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k7_msualg_6 :::"StabCl"::: ) (Set (Var "R")))) "iff" (Bool "(" (Bool (Set (Var "R")) ($#r2_pboole :::"c="::: ) (Set (Var "b4"))) & (Bool "(" "for" (Set (Var "Q")) "being" ($#v4_msualg_6 :::"stable"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "st" (Bool (Bool (Set (Var "R")) ($#r2_pboole :::"c="::: ) (Set (Var "Q")))) "holds" (Bool (Set (Var "b4")) ($#r2_pboole :::"c="::: ) (Set (Var "Q"))) ")" ) ")" ) ")" ))))); theorem :: MSUALG_6:31 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) (Bool "for" (Set (Var "s")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "A")) "," (Set (Var "s")) "holds" (Bool "(" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set "(" ($#k7_msualg_6 :::"StabCl"::: ) (Set (Var "R")) ")" ) ($#k1_msualg_4 :::"."::: ) (Set (Var "s")))) "iff" (Bool "ex" (Set (Var "x")) "," (Set (Var "y")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "A")) "," (Set (Var "s"))(Bool "ex" (Set (Var "h")) "being" ($#m1_msualg_6 :::"Endomorphism"::: ) "of" (Set (Var "A")) "st" (Bool "(" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "x")) "," (Set (Var "y")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s")))) & (Bool (Set (Var "a")) ($#r1_hidden :::"="::: ) (Set (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s")) ")" ) ($#k3_funct_2 :::"."::: ) (Set (Var "x")))) & (Bool (Set (Var "b")) ($#r1_hidden :::"="::: ) (Set (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s")) ")" ) ($#k3_funct_2 :::"."::: ) (Set (Var "y")))) ")" ))) ")" )))))) ; theorem :: MSUALG_6:32 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) "holds" (Bool (Set ($#k6_msualg_6 :::"InvCl"::: ) (Set "(" ($#k7_msualg_6 :::"StabCl"::: ) (Set (Var "R")) ")" )) "is" ($#v4_msualg_6 :::"stable"::: ) )))) ; definitionlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); let "R" be ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Const "A"))); func :::"TRS"::: "R" -> ($#v3_msualg_6 :::"invariant"::: ) ($#v4_msualg_6 :::"stable"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" "A" means :: MSUALG_6:def 13 (Bool "(" (Bool "R" ($#r2_pboole :::"c="::: ) it) & (Bool "(" "for" (Set (Var "Q")) "being" ($#v3_msualg_6 :::"invariant"::: ) ($#v4_msualg_6 :::"stable"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" "A" "st" (Bool (Bool "R" ($#r2_pboole :::"c="::: ) (Set (Var "Q")))) "holds" (Bool it ($#r2_pboole :::"c="::: ) (Set (Var "Q"))) ")" ) ")" ); end; :: deftheorem defines :::"TRS"::: MSUALG_6:def 13 : (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) (Bool "for" (Set (Var "b4")) "being" ($#v3_msualg_6 :::"invariant"::: ) ($#v4_msualg_6 :::"stable"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k8_msualg_6 :::"TRS"::: ) (Set (Var "R")))) "iff" (Bool "(" (Bool (Set (Var "R")) ($#r2_pboole :::"c="::: ) (Set (Var "b4"))) & (Bool "(" "for" (Set (Var "Q")) "being" ($#v3_msualg_6 :::"invariant"::: ) ($#v4_msualg_6 :::"stable"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "st" (Bool (Bool (Set (Var "R")) ($#r2_pboole :::"c="::: ) (Set (Var "Q")))) "holds" (Bool (Set (Var "b4")) ($#r2_pboole :::"c="::: ) (Set (Var "Q"))) ")" ) ")" ) ")" ))))); registrationlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); let "R" be bbbadV2_RELAT_1() ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Const "A")); cluster (Set ($#k6_msualg_6 :::"InvCl"::: ) "R") -> bbbadV2_RELAT_1() ($#v3_msualg_6 :::"invariant"::: ) ; cluster (Set ($#k7_msualg_6 :::"StabCl"::: ) "R") -> bbbadV2_RELAT_1() ($#v4_msualg_6 :::"stable"::: ) ; cluster (Set ($#k8_msualg_6 :::"TRS"::: ) "R") -> bbbadV2_RELAT_1() ($#v3_msualg_6 :::"invariant"::: ) ($#v4_msualg_6 :::"stable"::: ) ; end; theorem :: MSUALG_6:33 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#v3_msualg_6 :::"invariant"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool (Set ($#k6_msualg_6 :::"InvCl"::: ) (Set (Var "R"))) ($#r8_pboole :::"="::: ) (Set (Var "R")))))) ; theorem :: MSUALG_6:34 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#v4_msualg_6 :::"stable"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool (Set ($#k7_msualg_6 :::"StabCl"::: ) (Set (Var "R"))) ($#r8_pboole :::"="::: ) (Set (Var "R")))))) ; theorem :: MSUALG_6:35 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#v3_msualg_6 :::"invariant"::: ) ($#v4_msualg_6 :::"stable"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool (Set ($#k8_msualg_6 :::"TRS"::: ) (Set (Var "R"))) ($#r8_pboole :::"="::: ) (Set (Var "R")))))) ; theorem :: MSUALG_6:36 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) "holds" (Bool "(" (Bool (Set ($#k7_msualg_6 :::"StabCl"::: ) (Set (Var "R"))) ($#r2_pboole :::"c="::: ) (Set ($#k8_msualg_6 :::"TRS"::: ) (Set (Var "R")))) & (Bool (Set ($#k6_msualg_6 :::"InvCl"::: ) (Set (Var "R"))) ($#r2_pboole :::"c="::: ) (Set ($#k8_msualg_6 :::"TRS"::: ) (Set (Var "R")))) & (Bool (Set ($#k7_msualg_6 :::"StabCl"::: ) (Set "(" ($#k6_msualg_6 :::"InvCl"::: ) (Set (Var "R")) ")" )) ($#r2_pboole :::"c="::: ) (Set ($#k8_msualg_6 :::"TRS"::: ) (Set (Var "R")))) ")" )))) ; theorem :: MSUALG_6:37 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) "holds" (Bool (Set ($#k6_msualg_6 :::"InvCl"::: ) (Set "(" ($#k7_msualg_6 :::"StabCl"::: ) (Set (Var "R")) ")" )) ($#r8_pboole :::"="::: ) (Set ($#k8_msualg_6 :::"TRS"::: ) (Set (Var "R"))))))) ; theorem :: MSUALG_6:38 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) (Bool "for" (Set (Var "s")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "A")) "," (Set (Var "s")) "holds" (Bool "(" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set "(" ($#k8_msualg_6 :::"TRS"::: ) (Set (Var "R")) ")" ) ($#k1_msualg_4 :::"."::: ) (Set (Var "s")))) "iff" (Bool "ex" (Set (Var "s9")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) "st" (Bool "(" (Bool (Set ($#k3_msualg_6 :::"TranslationRel"::: ) (Set (Var "S"))) ($#r1_rewrite1 :::"reduces"::: ) (Set (Var "s9")) "," (Set (Var "s"))) & (Bool "ex" (Set (Var "l")) "," (Set (Var "r")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "A")) "," (Set (Var "s9"))(Bool "ex" (Set (Var "h")) "being" ($#m1_msualg_6 :::"Endomorphism"::: ) "of" (Set (Var "A"))(Bool "ex" (Set (Var "t")) "being" ($#m2_msualg_6 :::"Translation"::: ) "of" (Set (Var "A")) "," (Set (Var "s9")) "," (Set (Var "s")) "st" (Bool "(" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "l")) "," (Set (Var "r")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s9")))) & (Bool (Set (Var "a")) ($#r1_hidden :::"="::: ) (Set (Set (Var "t")) ($#k3_funct_2 :::"."::: ) (Set "(" (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s9")) ")" ) ($#k3_funct_2 :::"."::: ) (Set (Var "l")) ")" ))) & (Bool (Set (Var "b")) ($#r1_hidden :::"="::: ) (Set (Set (Var "t")) ($#k3_funct_2 :::"."::: ) (Set "(" (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s9")) ")" ) ($#k3_funct_2 :::"."::: ) (Set (Var "r")) ")" ))) ")" )))) ")" )) ")" )))))) ; begin theorem :: MSUALG_6:39 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "R")) "," (Set (Var "E")) "being" ($#m1_subset_1 :::"Relation":::) "of" (Set (Var "A")) "st" (Bool (Bool "(" "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "a")) ($#r2_hidden :::"in"::: ) (Set (Var "A"))) & (Bool (Set (Var "b")) ($#r2_hidden :::"in"::: ) (Set (Var "A")))) "holds" (Bool "(" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Var "E"))) "iff" (Bool (Set (Var "a")) "," (Set (Var "b")) ($#r2_rewrite1 :::"are_convertible_wrt"::: ) (Set (Var "R"))) ")" ) ")" )) "holds" (Bool "(" (Bool (Set (Var "E")) "is" ($#v1_partfun1 :::"total"::: ) ) & (Bool (Set (Var "E")) "is" ($#v3_relat_2 :::"symmetric"::: ) ) & (Bool (Set (Var "E")) "is" ($#v8_relat_2 :::"transitive"::: ) ) ")" ))) ; theorem :: MSUALG_6:40 (Bool "for" (Set (Var "A")) "being" ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "R")) "being" ($#m1_subset_1 :::"Relation":::) "of" (Set (Var "A")) (Bool "for" (Set (Var "E")) "being" ($#m1_subset_1 :::"Equivalence_Relation":::) "of" (Set (Var "A")) "st" (Bool (Bool (Set (Var "R")) ($#r1_relset_1 :::"c="::: ) (Set (Var "E")))) "holds" (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_hidden :::"set"::: ) "st" (Bool (Bool (Set (Var "a")) ($#r2_hidden :::"in"::: ) (Set (Var "A"))) & (Bool (Set (Var "a")) "," (Set (Var "b")) ($#r2_rewrite1 :::"are_convertible_wrt"::: ) (Set (Var "R")))) "holds" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Var "E"))))))) ; theorem :: MSUALG_6:41 (Bool "for" (Set (Var "A")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "R")) "being" ($#m1_subset_1 :::"Relation":::) "of" (Set (Var "A")) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set ($#k1_msualg_5 :::"EqCl"::: ) (Set (Var "R")))) "iff" (Bool (Set (Var "a")) "," (Set (Var "b")) ($#r2_rewrite1 :::"are_convertible_wrt"::: ) (Set (Var "R"))) ")" )))) ; theorem :: MSUALG_6:42 (Bool "for" (Set (Var "S")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "A")) "being" bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) (Bool "for" (Set (Var "s")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "S")) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Set (Var "A")) ($#k1_funct_1 :::"."::: ) (Set (Var "s"))) "holds" (Bool "(" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set "(" ($#k3_msualg_5 :::"EqCl"::: ) (Set (Var "R")) ")" ) ($#k1_msualg_4 :::"."::: ) (Set (Var "s")))) "iff" (Bool (Set (Var "a")) "," (Set (Var "b")) ($#r2_rewrite1 :::"are_convertible_wrt"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s")))) ")" )))))) ; definitionlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); mode EquationalTheory of "A" is ($#v2_msualg_4 :::"MSEquivalence-like"::: ) ($#v3_msualg_6 :::"invariant"::: ) ($#v4_msualg_6 :::"stable"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" "A"; let "R" be ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Const "A")); func :::"EqCl"::: "(" "R" "," "A" ")" -> ($#v2_msualg_4 :::"MSEquivalence-like"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" "A" equals :: MSUALG_6:def 14 (Set ($#k3_msualg_5 :::"EqCl"::: ) "R"); end; :: deftheorem defines :::"EqCl"::: MSUALG_6:def 14 : (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool (Set ($#k9_msualg_6 :::"EqCl"::: ) "(" (Set (Var "R")) "," (Set (Var "A")) ")" ) ($#r1_hidden :::"="::: ) (Set ($#k3_msualg_5 :::"EqCl"::: ) (Set (Var "R"))))))); theorem :: MSUALG_6:43 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool (Set (Var "R")) ($#r2_pboole :::"c="::: ) (Set ($#k9_msualg_6 :::"EqCl"::: ) "(" (Set (Var "R")) "," (Set (Var "A")) ")" ))))) ; theorem :: MSUALG_6:44 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) (Bool "for" (Set (Var "E")) "being" ($#v2_msualg_4 :::"MSEquivalence-like"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "st" (Bool (Bool (Set (Var "R")) ($#r2_pboole :::"c="::: ) (Set (Var "E")))) "holds" (Bool (Set ($#k9_msualg_6 :::"EqCl"::: ) "(" (Set (Var "R")) "," (Set (Var "A")) ")" ) ($#r2_pboole :::"c="::: ) (Set (Var "E"))))))) ; theorem :: MSUALG_6:45 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#v4_msualg_6 :::"stable"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) (Bool "for" (Set (Var "s")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "A")) "," (Set (Var "s")) "st" (Bool (Bool (Set (Var "a")) "," (Set (Var "b")) ($#r2_rewrite1 :::"are_convertible_wrt"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s"))))) "holds" (Bool "for" (Set (Var "h")) "being" ($#m1_msualg_6 :::"Endomorphism"::: ) "of" (Set (Var "A")) "holds" (Bool (Set (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s")) ")" ) ($#k3_funct_2 :::"."::: ) (Set (Var "a"))) "," (Set (Set "(" (Set (Var "h")) ($#k1_msualg_3 :::"."::: ) (Set (Var "s")) ")" ) ($#k3_funct_2 :::"."::: ) (Set (Var "b"))) ($#r2_rewrite1 :::"are_convertible_wrt"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s")))))))))) ; theorem :: MSUALG_6:46 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#v4_msualg_6 :::"stable"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool (Set ($#k9_msualg_6 :::"EqCl"::: ) "(" (Set (Var "R")) "," (Set (Var "A")) ")" ) "is" ($#v4_msualg_6 :::"stable"::: ) )))) ; registrationlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); let "R" be ($#v4_msualg_6 :::"stable"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Const "A")); cluster (Set ($#k9_msualg_6 :::"EqCl"::: ) "(" "R" "," "A" ")" ) -> ($#v2_msualg_4 :::"MSEquivalence-like"::: ) ($#v4_msualg_6 :::"stable"::: ) ; end; theorem :: MSUALG_6:47 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#v3_msualg_6 :::"invariant"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) (Bool "for" (Set (Var "s1")) "," (Set (Var "s2")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "A")) "," (Set (Var "s1")) "st" (Bool (Bool (Set (Var "a")) "," (Set (Var "b")) ($#r2_rewrite1 :::"are_convertible_wrt"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s1"))))) "holds" (Bool "for" (Set (Var "t")) "being" ($#m1_hidden :::"Function":::) "st" (Bool (Bool (Set (Var "t")) ($#r1_msualg_6 :::"is_e.translation_of"::: ) (Set (Var "A")) "," (Set (Var "s1")) "," (Set (Var "s2")))) "holds" (Bool (Set (Set (Var "t")) ($#k1_funct_1 :::"."::: ) (Set (Var "a"))) "," (Set (Set (Var "t")) ($#k1_funct_1 :::"."::: ) (Set (Var "b"))) ($#r2_rewrite1 :::"are_convertible_wrt"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s2")))))))))) ; theorem :: MSUALG_6:48 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#v3_msualg_6 :::"invariant"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool (Set ($#k9_msualg_6 :::"EqCl"::: ) "(" (Set (Var "R")) "," (Set (Var "A")) ")" ) "is" ($#v3_msualg_6 :::"invariant"::: ) )))) ; registrationlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); let "R" be ($#v3_msualg_6 :::"invariant"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Const "A")); cluster (Set ($#k9_msualg_6 :::"EqCl"::: ) "(" "R" "," "A" ")" ) -> ($#v2_msualg_4 :::"MSEquivalence-like"::: ) ($#v3_msualg_6 :::"invariant"::: ) ; end; theorem :: MSUALG_6:49 (Bool "for" (Set (Var "S")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "A")) "being" bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "R")) "," (Set (Var "E")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "st" (Bool (Bool "(" "for" (Set (Var "s")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "S")) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Set (Var "A")) ($#k1_funct_1 :::"."::: ) (Set (Var "s"))) "holds" (Bool "(" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "E")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s")))) "iff" (Bool (Set (Var "a")) "," (Set (Var "b")) ($#r2_rewrite1 :::"are_convertible_wrt"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s")))) ")" )) ")" )) "holds" (Bool (Set (Var "E")) "is" ($#v1_msualg_4 :::"MSEquivalence_Relation-like"::: ) )))) ; theorem :: MSUALG_6:50 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "," (Set (Var "E")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "st" (Bool (Bool "(" "for" (Set (Var "s")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "A")) "," (Set (Var "s")) "holds" (Bool "(" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "E")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s")))) "iff" (Bool (Set (Var "a")) "," (Set (Var "b")) ($#r2_rewrite1 :::"are_convertible_wrt"::: ) (Set (Set "(" ($#k8_msualg_6 :::"TRS"::: ) (Set (Var "R")) ")" ) ($#k1_msualg_4 :::"."::: ) (Set (Var "s")))) ")" )) ")" )) "holds" (Bool (Set (Var "E")) "is" ($#m1_msualg_4 :::"EquationalTheory":::) "of" (Set (Var "A")))))) ; theorem :: MSUALG_6:51 (Bool "for" (Set (Var "S")) "being" ($#~v1_xboole_0 "non" ($#v1_xboole_0 :::"empty"::: ) ) ($#m1_hidden :::"set"::: ) (Bool "for" (Set (Var "A")) "being" bbbadV2_RELAT_1() ($#m1_hidden :::"ManySortedSet":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) (Bool "for" (Set (Var "E")) "being" ($#v1_msualg_4 :::"MSEquivalence_Relation-like"::: ) ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "st" (Bool (Bool (Set (Var "R")) ($#r2_pboole :::"c="::: ) (Set (Var "E")))) "holds" (Bool "for" (Set (Var "s")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Var "S")) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element"::: ) "of" (Set (Set (Var "A")) ($#k1_funct_1 :::"."::: ) (Set (Var "s"))) "st" (Bool (Bool (Set (Var "a")) "," (Set (Var "b")) ($#r2_rewrite1 :::"are_convertible_wrt"::: ) (Set (Set (Var "R")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s"))))) "holds" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set (Var "E")) ($#k1_msualg_4 :::"."::: ) (Set (Var "s")))))))))) ; definitionlet "S" be ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) ; let "A" be ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Const "S")); let "R" be ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Const "A"))); func :::"EqTh"::: "R" -> ($#m1_msualg_4 :::"EquationalTheory":::) "of" "A" means :: MSUALG_6:def 15 (Bool "(" (Bool "R" ($#r2_pboole :::"c="::: ) it) & (Bool "(" "for" (Set (Var "Q")) "being" ($#m1_msualg_4 :::"EquationalTheory":::) "of" "A" "st" (Bool (Bool "R" ($#r2_pboole :::"c="::: ) (Set (Var "Q")))) "holds" (Bool it ($#r2_pboole :::"c="::: ) (Set (Var "Q"))) ")" ) ")" ); end; :: deftheorem defines :::"EqTh"::: MSUALG_6:def 15 : (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set "the" ($#u3_msualg_1 :::"Sorts"::: ) "of" (Set (Var "A"))) (Bool "for" (Set (Var "b4")) "being" ($#m1_msualg_4 :::"EquationalTheory":::) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set (Var "b4")) ($#r1_hidden :::"="::: ) (Set ($#k10_msualg_6 :::"EqTh"::: ) (Set (Var "R")))) "iff" (Bool "(" (Bool (Set (Var "R")) ($#r2_pboole :::"c="::: ) (Set (Var "b4"))) & (Bool "(" "for" (Set (Var "Q")) "being" ($#m1_msualg_4 :::"EquationalTheory":::) "of" (Set (Var "A")) "st" (Bool (Bool (Set (Var "R")) ($#r2_pboole :::"c="::: ) (Set (Var "Q")))) "holds" (Bool (Set (Var "b4")) ($#r2_pboole :::"c="::: ) (Set (Var "Q"))) ")" ) ")" ) ")" ))))); theorem :: MSUALG_6:52 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool "(" (Bool (Set ($#k9_msualg_6 :::"EqCl"::: ) "(" (Set (Var "R")) "," (Set (Var "A")) ")" ) ($#r2_pboole :::"c="::: ) (Set ($#k10_msualg_6 :::"EqTh"::: ) (Set (Var "R")))) & (Bool (Set ($#k6_msualg_6 :::"InvCl"::: ) (Set (Var "R"))) ($#r2_pboole :::"c="::: ) (Set ($#k10_msualg_6 :::"EqTh"::: ) (Set (Var "R")))) & (Bool (Set ($#k7_msualg_6 :::"StabCl"::: ) (Set (Var "R"))) ($#r2_pboole :::"c="::: ) (Set ($#k10_msualg_6 :::"EqTh"::: ) (Set (Var "R")))) & (Bool (Set ($#k8_msualg_6 :::"TRS"::: ) (Set (Var "R"))) ($#r2_pboole :::"c="::: ) (Set ($#k10_msualg_6 :::"EqTh"::: ) (Set (Var "R")))) ")" )))) ; theorem :: MSUALG_6:53 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) (Bool "for" (Set (Var "s")) "being" ($#m1_subset_1 :::"SortSymbol":::) "of" (Set (Var "S")) (Bool "for" (Set (Var "a")) "," (Set (Var "b")) "being" ($#m1_subset_1 :::"Element":::) "of" (Set (Var "A")) "," (Set (Var "s")) "holds" (Bool "(" (Bool (Set ($#k4_tarski :::"["::: ) (Set (Var "a")) "," (Set (Var "b")) ($#k4_tarski :::"]"::: ) ) ($#r2_hidden :::"in"::: ) (Set (Set "(" ($#k10_msualg_6 :::"EqTh"::: ) (Set (Var "R")) ")" ) ($#k2_msualg_4 :::"."::: ) (Set (Var "s")))) "iff" (Bool (Set (Var "a")) "," (Set (Var "b")) ($#r2_rewrite1 :::"are_convertible_wrt"::: ) (Set (Set "(" ($#k8_msualg_6 :::"TRS"::: ) (Set (Var "R")) ")" ) ($#k1_msualg_4 :::"."::: ) (Set (Var "s")))) ")" )))))) ; theorem :: MSUALG_6:54 (Bool "for" (Set (Var "S")) "being" ($#~v2_struct_0 "non" ($#v2_struct_0 :::"empty"::: ) ) ($#~v11_struct_0 "non" ($#v11_struct_0 :::"void"::: ) ) ($#l1_msualg_1 :::"ManySortedSign"::: ) (Bool "for" (Set (Var "A")) "being" ($#v4_msualg_1 :::"non-empty"::: ) ($#l3_msualg_1 :::"MSAlgebra"::: ) "over" (Set (Var "S")) (Bool "for" (Set (Var "R")) "being" ($#m1_msualg_4 :::"ManySortedRelation":::) "of" (Set (Var "A")) "holds" (Bool (Set ($#k10_msualg_6 :::"EqTh"::: ) (Set (Var "R"))) ($#r8_pboole :::"="::: ) (Set ($#k9_msualg_6 :::"EqCl"::: ) "(" (Set "(" ($#k8_msualg_6 :::"TRS"::: ) (Set (Var "R")) ")" ) "," (Set (Var "A")) ")" ))))) ;