scheme :: BIRKHOFF:sch 4
EqTerms{ F1() -> non empty non void ManySortedSign , F2() -> non-empty MSAlgebra over F1(), F3() -> ManySortedFunction of the carrier of F1() --> NAT, the Sorts of F2(), F4() -> SortSymbol of F1(), F5() -> Element of the Sorts of (TermAlg F1()) . F4(), F6() -> Element of the Sorts of (TermAlg F1()) . F4(), P1[ set ] } :
for B being non-empty MSAlgebra over F1() st P1[B] holds
B |= F5() '=' F6()
provided
A1: ((F3() -hash) . F4()) . F5() = ((F3() -hash) . F4()) . F6() and
A2: for C being non-empty MSAlgebra over F1()
for G being ManySortedFunction of the carrier of F1() --> NAT, the Sorts of C st P1[C] holds
ex h being ManySortedFunction of F2(),C st
( h is_homomorphism F2(),C & G = h ** F3() )