Article EQUATION, MML version 4.99.1005

:: EQUATION:th 1
theorem
for b1 being set
for b2, b3 being non empty set
for b4 being Function-like quasi_total Relation of b1,b2
for b5 being Function-like quasi_total Relation of b2,b3
      st rng (b5 * b4) = b3
   holds rng b5 = b3;

:: EQUATION:th 2
theorem
for b1 being set
for b2 being ManySortedSet of b1
for b3, b4 being non-empty ManySortedSet of b1
for b5 being ManySortedFunction of b2,b3
for b6 being ManySortedFunction of b3,b4
      st b6 ** b5 is "onto"(b1, b2, b4)
   holds b6 is "onto"(b1, b3, b4);

:: EQUATION:th 3
theorem
for b1, b2 being non empty set
for b3, b4 being set
for b5 being Relation-like Function-like set
      st b5 in Funcs(b1,Funcs(b2,b3)) & b4 in b2
   holds proj1 ((commute b5) . b4) = b1 & proj2 ((commute b5) . b4) c= b3;

:: EQUATION:th 5
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
   st b2 is_transformable_to b3
for b4 being Function-yielding ManySortedSet of b1
      st doms b4 = b2 & rngs b4 c= b3
   holds b4 is ManySortedFunction of b2,b3;

:: EQUATION:th 6
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
for b4 being ManySortedFunction of b2,b3
for b5, b6 being ManySortedSubset of b2
for b7 being ManySortedSubset of b5
      st b6 = b7
   holds (b4 || b5) || b7 = b4 || b6;

:: EQUATION:th 7
theorem
for b1 being set
for b2 being non-empty ManySortedSet of b1
for b3 being ManySortedSet of b1
for b4 being ManySortedSubset of b3
for b5 being ManySortedFunction of b4,b2 holds
   ex b6 being ManySortedFunction of b3,b2 st
      b6 || b4 = b5;

:: EQUATION:funcnot 1 => EQUATION:func 1
definition
  let a1 be set;
  let a2 be ManySortedSet of a1;
  let a3 be Function-yielding ManySortedSet of a1;
  func A3 "" A2 -> ManySortedSet of a1 means
    for b1 being set
          st b1 in a1
       holds it . b1 = (a3 . b1) " (a2 . b1);
end;

:: EQUATION:def 1
theorem
for b1 being set
for b2 being ManySortedSet of b1
for b3 being Function-yielding ManySortedSet of b1
for b4 being ManySortedSet of b1 holds
      b4 = b3 "" b2
   iff
      for b5 being set
            st b5 in b1
         holds b4 . b5 = (b3 . b5) " (b2 . b5);

:: EQUATION:th 8
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
for b5 being ManySortedFunction of b2,b3 holds
   b5 .:.: b4 is ManySortedSubset of b3;

:: EQUATION:th 9
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
for b5 being ManySortedFunction of b2,b3 holds
   b5 "" b4 is ManySortedSubset of b2;

:: EQUATION:th 10
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
for b4 being ManySortedFunction of b2,b3
      st b4 is "onto"(b1, b2, b3)
   holds b4 .:.: b2 = b3;

:: EQUATION:th 11
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
for b4 being ManySortedFunction of b2,b3
      st b2 is_transformable_to b3
   holds b4 "" b3 = b2;

:: EQUATION:th 12
theorem
for b1 being set
for b2 being ManySortedSet of b1
for b3 being Function-yielding ManySortedSet of b1
      st b2 c= rngs b3
   holds b3 .:.: (b3 "" b2) = b2;

:: EQUATION:th 13
theorem
for b1 being set
for b2 being Function-yielding ManySortedSet of b1
for b3 being ManySortedSet of b1 holds
   b2 .:.: b3 c= rngs b2;

:: EQUATION:th 14
theorem
for b1 being set
for b2 being Function-yielding ManySortedSet of b1 holds
   b2 .:.: doms b2 = rngs b2;

:: EQUATION:th 15
theorem
for b1 being set
for b2 being Function-yielding ManySortedSet of b1 holds
   b2 "" rngs b2 = doms b2;

:: EQUATION:th 16
theorem
for b1 being set
for b2 being ManySortedSet of b1 holds
   (id b2) .:.: b2 = b2;

:: EQUATION:th 17
theorem
for b1 being set
for b2 being ManySortedSet of b1 holds
   (id b2) "" b2 = b2;

:: EQUATION:th 19
theorem
for b1 being non empty non void ManySortedSign
for b2 being MSAlgebra over b1 holds
   b2 is MSSubAlgebra of MSAlgebra(#the Sorts of b2,the Charact of b2#);

:: EQUATION:th 20
theorem
for b1 being non empty non void ManySortedSign
for b2 being MSAlgebra over b1
for b3 being MSSubAlgebra of b2
for b4 being Element of the OperSymbols of b1
for b5 being set
      st b5 in Args(b4,b3)
   holds b5 in Args(b4,b2);

:: EQUATION:th 21
theorem
for b1 being non empty non void ManySortedSign
for b2 being MSAlgebra over b1
for b3 being MSSubAlgebra of b2
for b4 being Element of the OperSymbols of b1
for b5 being set
      st b5 in Args(b4,b3)
   holds (Den(b4,b3)) . b5 = (Den(b4,b2)) . b5;

:: EQUATION:th 22
theorem
for b1 being set
for b2 being non empty non void ManySortedSign
for b3 being MSAlgebra-Family of b1,b2
for b4 being MSSubAlgebra of product b3
for b5 being Element of the OperSymbols of b2
for b6 being set
      st b6 in Args(b5,b4)
   holds (Den(b5,b4)) . b6 is Relation-like Function-like set &
    (Den(b5,product b3)) . b6 is Relation-like Function-like set;

:: EQUATION:funcnot 2 => EQUATION:func 2
definition
  let a1 be non empty non void ManySortedSign;
  let a2 be MSAlgebra over a1;
  let a3 be MSSubAlgebra of a2;
  func SuperAlgebraSet A3 -> set means
    for b1 being set holds
          b1 in it
       iff
          ex b2 being strict MSSubAlgebra of a2 st
             b1 = b2 & a3 is MSSubAlgebra of b2;
end;

:: EQUATION:def 2
theorem
for b1 being non empty non void ManySortedSign
for b2 being MSAlgebra over b1
for b3 being MSSubAlgebra of b2
for b4 being set holds
      b4 = SuperAlgebraSet b3
   iff
      for b5 being set holds
            b5 in b4
         iff
            ex b6 being strict MSSubAlgebra of b2 st
               b5 = b6 & b3 is MSSubAlgebra of b6;

:: EQUATION:funcreg 1
registration
  let a1 be non empty non void ManySortedSign;
  let a2 be MSAlgebra over a1;
  let a3 be MSSubAlgebra of a2;
  cluster SuperAlgebraSet a3 -> non empty;
end;

:: EQUATION:exreg 1
registration
  let a1 be non empty non void ManySortedSign;
  cluster strict non-empty free MSAlgebra over a1;
end;

:: EQUATION:funcreg 2
registration
  let a1 be non empty non void ManySortedSign;
  let a2 be non-empty MSAlgebra over a1;
  let a3 be non-empty finite-yielding ManySortedSubset of the Sorts of a2;
  cluster GenMSAlg a3 -> strict finitely-generated;
end;

:: EQUATION:exreg 2
registration
  let a1 be non empty non void ManySortedSign;
  let a2 be non-empty MSAlgebra over a1;
  cluster strict non-empty finitely-generated MSSubAlgebra of a2;
end;

:: EQUATION:exreg 3
registration
  let a1 be non empty non void ManySortedSign;
  let a2 be feasible MSAlgebra over a1;
  cluster feasible MSSubAlgebra of a2;
end;

:: EQUATION:th 23
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being MSAlgebra over b1
for b4 being MSSubAlgebra of b3
for b5 being ManySortedSubset of the Sorts of b3
   st b5 = the Sorts of b4
for b6 being ManySortedFunction of the Sorts of b3,the Sorts of b2
for b7 being ManySortedFunction of the Sorts of b4,the Sorts of b2
   st b7 = b6 || b5
for b8 being Element of the OperSymbols of b1
for b9 being Element of Args(b8,b3)
for b10 being Element of Args(b8,b4)
      st Args(b8,b4) <> {} & b9 = b10
   holds b6 # b9 = b7 # b10;

:: EQUATION:th 24
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being feasible MSAlgebra over b1
for b4 being feasible MSSubAlgebra of b3
for b5 being ManySortedSubset of the Sorts of b3
   st b5 = the Sorts of b4
for b6 being ManySortedFunction of the Sorts of b3,the Sorts of b2
   st b6 is_homomorphism b3,b2
for b7 being ManySortedFunction of the Sorts of b4,the Sorts of b2
      st b7 = b6 || b5
   holds b7 is_homomorphism b4,b2;

:: EQUATION:th 25
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being strict non-empty MSAlgebra over b1
for b4 being GeneratorSet of b2
for b5 being non-empty GeneratorSet of b3
for b6 being ManySortedFunction of the Sorts of b2,the Sorts of b3
      st b5 c= b6 .:.: b4 & b6 is_homomorphism b2,b3
   holds b6 is_epimorphism b2,b3;

:: EQUATION:th 26
theorem
for b1 being non empty non void ManySortedSign
for b2, b3 being non-empty MSAlgebra over b1
for b4 being strict non-empty free MSAlgebra over b1
for b5 being ManySortedFunction of the Sorts of b2,the Sorts of b3
   st b5 is_epimorphism b2,b3
for b6 being ManySortedFunction of the Sorts of b4,the Sorts of b3
      st b6 is_homomorphism b4,b3
   holds ex b7 being ManySortedFunction of the Sorts of b4,the Sorts of b2 st
      b7 is_homomorphism b4,b2 & b6 = b5 ** b7;

:: EQUATION:th 27
theorem
for b1 being non empty non void ManySortedSign
for b2 being non empty finite set
for b3 being non-empty MSAlgebra over b1
for b4 being MSAlgebra-Family of b2,b1
      st for b5 being Element of b2 holds
           ex b6 being strict non-empty finitely-generated MSSubAlgebra of b3 st
              b6 = b4 . b5
   holds ex b5 being strict non-empty finitely-generated MSSubAlgebra of b3 st
      for b6 being Element of b2 holds
         b4 . b6 is MSSubAlgebra of b5;

:: EQUATION:th 28
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3, b4 being strict non-empty finitely-generated MSSubAlgebra of b2 holds
ex b5 being strict non-empty finitely-generated MSSubAlgebra of b2 st
   b3 is MSSubAlgebra of b5 & b4 is MSSubAlgebra of b5;

:: EQUATION:th 29
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being set
   st b3 = {b4 where b4 is Element of MSSub b2: ex b5 being strict non-empty finitely-generated MSSubAlgebra of b2 st
        b5 = b4}
for b4 being MSAlgebra-Family of b3,b1
      st for b5 being set
              st b5 in b3
           holds b5 = b4 . b5
   holds ex b5 being strict non-empty MSSubAlgebra of product b4 st
      ex b6 being ManySortedFunction of the Sorts of b5,the Sorts of b2 st
         b6 is_epimorphism b5,b2;

:: EQUATION:th 30
theorem
for b1 being non empty non void ManySortedSign
for b2 being free feasible MSAlgebra over b1
for b3 being free GeneratorSet of b2
for b4 being ManySortedSubset of the Sorts of b2
      st b4 c= b3 & GenMSAlg b4 is feasible(b1)
   holds GenMSAlg b4 is free(b1);

:: EQUATION:funcnot 3 => EQUATION:func 3
definition
  let a1 be non empty non void ManySortedSign;
  func TermAlg A1 -> MSAlgebra over a1 equals
    FreeMSA ((the carrier of a1) --> NAT);
end;

:: EQUATION:def 3
theorem
for b1 being non empty non void ManySortedSign holds
   TermAlg b1 = FreeMSA ((the carrier of b1) --> NAT);

:: EQUATION:funcreg 3
registration
  let a1 be non empty non void ManySortedSign;
  cluster TermAlg a1 -> strict non-empty free;
end;

:: EQUATION:funcnot 4 => EQUATION:func 4
definition
  let a1 be non empty non void ManySortedSign;
  func Equations A1 -> ManySortedSet of the carrier of a1 equals
    [|the Sorts of TermAlg a1,the Sorts of TermAlg a1|];
end;

:: EQUATION:def 4
theorem
for b1 being non empty non void ManySortedSign holds
   Equations b1 = [|the Sorts of TermAlg b1,the Sorts of TermAlg b1|];

:: EQUATION:funcreg 4
registration
  let a1 be non empty non void ManySortedSign;
  cluster Equations a1 -> non-empty;
end;

:: EQUATION:modenot 1
definition
  let a1 be non empty non void ManySortedSign;
  mode EqualSet of a1 is ManySortedSubset of Equations a1;
end;

:: EQUATION:funcnot 5 => TARSKI:func 4
notation
  let a1 be non empty non void ManySortedSign;
  let a2 be Element of the carrier of a1;
  let a3, a4 be Element of (the Sorts of TermAlg a1) . a2;
  synonym a3 '=' a4 for [a1,a2];
end;

:: EQUATION:funcnot 6 => EQUATION:func 5
definition
  let a1 be non empty non void ManySortedSign;
  let a2 be Element of the carrier of a1;
  let a3, a4 be Element of (the Sorts of TermAlg a1) . a2;
  redefine func a3 '=' a4 -> Element of (Equations a1) . a2;
end;

:: EQUATION:th 31
theorem
for b1 being non empty non void ManySortedSign
for b2 being Element of the carrier of b1
for b3 being Element of (Equations b1) . b2 holds
   b3 `1 in (the Sorts of TermAlg b1) . b2;

:: EQUATION:th 32
theorem
for b1 being non empty non void ManySortedSign
for b2 being Element of the carrier of b1
for b3 being Element of (Equations b1) . b2 holds
   b3 `2 in (the Sorts of TermAlg b1) . b2;

:: EQUATION:prednot 1 => EQUATION:pred 1
definition
  let a1 be non empty non void ManySortedSign;
  let a2 be MSAlgebra over a1;
  let a3 be Element of the carrier of a1;
  let a4 be Element of (Equations a1) . a3;
  pred A2 |= A4 means
    for b1 being ManySortedFunction of the Sorts of TermAlg a1,the Sorts of a2
          st b1 is_homomorphism TermAlg a1,a2
       holds (b1 . a3) . (a4 `1) = (b1 . a3) . (a4 `2);
end;

:: EQUATION:dfs 5
definiens
  let a1 be non empty non void ManySortedSign;
  let a2 be MSAlgebra over a1;
  let a3 be Element of the carrier of a1;
  let a4 be Element of (Equations a1) . a3;
To prove
     a2 |= a4
it is sufficient to prove
  thus for b1 being ManySortedFunction of the Sorts of TermAlg a1,the Sorts of a2
          st b1 is_homomorphism TermAlg a1,a2
       holds (b1 . a3) . (a4 `1) = (b1 . a3) . (a4 `2);

:: EQUATION:def 5
theorem
for b1 being non empty non void ManySortedSign
for b2 being MSAlgebra over b1
for b3 being Element of the carrier of b1
for b4 being Element of (Equations b1) . b3 holds
      b2 |= b4
   iff
      for b5 being ManySortedFunction of the Sorts of TermAlg b1,the Sorts of b2
            st b5 is_homomorphism TermAlg b1,b2
         holds (b5 . b3) . (b4 `1) = (b5 . b3) . (b4 `2);

:: EQUATION:prednot 2 => EQUATION:pred 2
definition
  let a1 be non empty non void ManySortedSign;
  let a2 be MSAlgebra over a1;
  let a3 be ManySortedSubset of Equations a1;
  pred A2 |= A3 means
    for b1 being Element of the carrier of a1
    for b2 being Element of (Equations a1) . b1
          st b2 in a3 . b1
       holds a2 |= b2;
end;

:: EQUATION:dfs 6
definiens
  let a1 be non empty non void ManySortedSign;
  let a2 be MSAlgebra over a1;
  let a3 be ManySortedSubset of Equations a1;
To prove
     a2 |= a3
it is sufficient to prove
  thus for b1 being Element of the carrier of a1
    for b2 being Element of (Equations a1) . b1
          st b2 in a3 . b1
       holds a2 |= b2;

:: EQUATION:def 6
theorem
for b1 being non empty non void ManySortedSign
for b2 being MSAlgebra over b1
for b3 being ManySortedSubset of Equations b1 holds
      b2 |= b3
   iff
      for b4 being Element of the carrier of b1
      for b5 being Element of (Equations b1) . b4
            st b5 in b3 . b4
         holds b2 |= b5;

:: EQUATION:th 33
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being Element of the carrier of b1
for b4 being Element of (Equations b1) . b3
for b5 being strict non-empty MSSubAlgebra of b2
      st b2 |= b4
   holds b5 |= b4;

:: EQUATION:th 34
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being ManySortedSubset of Equations b1
for b4 being strict non-empty MSSubAlgebra of b2
      st b2 |= b3
   holds b4 |= b3;

:: EQUATION:th 35
theorem
for b1 being non empty non void ManySortedSign
for b2, b3 being non-empty MSAlgebra over b1
for b4 being Element of the carrier of b1
for b5 being Element of (Equations b1) . b4
      st b2,b3 are_isomorphic & b2 |= b5
   holds b3 |= b5;

:: EQUATION:th 36
theorem
for b1 being non empty non void ManySortedSign
for b2, b3 being non-empty MSAlgebra over b1
for b4 being ManySortedSubset of Equations b1
      st b2,b3 are_isomorphic & b2 |= b4
   holds b3 |= b4;

:: EQUATION:th 37
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being Element of the carrier of b1
for b4 being Element of (Equations b1) . b3
for b5 being MSEquivalence-like MSCongruence-like ManySortedRelation of the Sorts of b2,the Sorts of b2
      st b2 |= b4
   holds QuotMSAlg(b2,b5) |= b4;

:: EQUATION:th 38
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being ManySortedSubset of Equations b1
for b4 being MSEquivalence-like MSCongruence-like ManySortedRelation of the Sorts of b2,the Sorts of b2
      st b2 |= b3
   holds QuotMSAlg(b2,b4) |= b3;

:: EQUATION:th 39
theorem
for b1 being set
for b2 being non empty non void ManySortedSign
for b3 being Element of the carrier of b2
for b4 being Element of (Equations b2) . b3
for b5 being MSAlgebra-Family of b1,b2
      st for b6 being set
              st b6 in b1
           holds ex b7 being MSAlgebra over b2 st
              b7 = b5 . b6 & b7 |= b4
   holds product b5 |= b4;

:: EQUATION:th 40
theorem
for b1 being set
for b2 being non empty non void ManySortedSign
for b3 being ManySortedSubset of Equations b2
for b4 being MSAlgebra-Family of b1,b2
      st for b5 being set
              st b5 in b1
           holds ex b6 being MSAlgebra over b2 st
              b6 = b4 . b5 & b6 |= b3
   holds product b4 |= b3;