:: BINTREE1 semantic presentation
:: deftheorem Def1 defines root-label BINTREE1:def 1 :
theorem Th1: :: BINTREE1:1
theorem Th2: :: BINTREE1:2
:: deftheorem Def2 defines binary BINTREE1:def 2 :
theorem Th3: :: BINTREE1:3
canceled;
theorem Th4: :: BINTREE1:4
canceled;
theorem Th5: :: BINTREE1:5
theorem Th6: :: BINTREE1:6
theorem Th7: :: BINTREE1:7
:: deftheorem Def3 defines binary BINTREE1:def 3 :
theorem Th8: :: BINTREE1:8
theorem Th9: :: BINTREE1:9
theorem Th10: :: BINTREE1:10
theorem Th11: :: BINTREE1:11
:: deftheorem Def4 defines binary BINTREE1:def 4 :
theorem Th12: :: BINTREE1:12
scheme :: BINTREE1:sch 3
s3{
F1()
-> non
empty with_terminals with_nonterminals with_useful_nonterminals binary DTConstrStr ,
F2()
-> non
empty set ,
F3(
set )
-> Element of
F2(),
F4(
set ,
set ,
set ,
set ,
set )
-> Element of
F2() } :
ex
b1 being
Function of
TS F1(),
F2() st
( ( for
b2 being
Terminal of
F1() holds
b1 . (root-tree b2) = F3(
b2) ) & ( for
b2 being
NonTerminal of
F1()
for
b3,
b4 being
Element of
TS F1()
for
b5,
b6 being
Symbol of
F1() st
b5 = root-label b3 &
b6 = root-label b4 &
b2 ==> <*b5,b6*> holds
for
b7,
b8 being
Element of
F2() st
b7 = b1 . b3 &
b8 = b1 . b4 holds
b1 . (b2 -tree b3,b4) = F4(
b2,
b5,
b6,
b7,
b8) ) )
scheme :: BINTREE1:sch 4
s4{
F1()
-> non
empty with_terminals with_nonterminals with_useful_nonterminals binary DTConstrStr ,
F2()
-> non
empty set ,
F3()
-> Function of
TS F1(),
F2(),
F4()
-> Function of
TS F1(),
F2(),
F5(
set )
-> Element of
F2(),
F6(
set ,
set ,
set ,
set ,
set )
-> Element of
F2() } :
provided
E10:
( ( for
b1 being
Terminal of
F1() holds
F3()
. (root-tree b1) = F5(
b1) ) & ( for
b1 being
NonTerminal of
F1()
for
b2,
b3 being
Element of
TS F1()
for
b4,
b5 being
Symbol of
F1() st
b4 = root-label b2 &
b5 = root-label b3 &
b1 ==> <*b4,b5*> holds
for
b6,
b7 being
Element of
F2() st
b6 = F3()
. b2 &
b7 = F3()
. b3 holds
F3()
. (b1 -tree b2,b3) = F6(
b1,
b4,
b5,
b6,
b7) ) )
and E11:
( ( for
b1 being
Terminal of
F1() holds
F4()
. (root-tree b1) = F5(
b1) ) & ( for
b1 being
NonTerminal of
F1()
for
b2,
b3 being
Element of
TS F1()
for
b4,
b5 being
Symbol of
F1() st
b4 = root-label b2 &
b5 = root-label b3 &
b1 ==> <*b4,b5*> holds
for
b6,
b7 being
Element of
F2() st
b6 = F4()
. b2 &
b7 = F4()
. b3 holds
F4()
. (b1 -tree b2,b3) = F6(
b1,
b4,
b5,
b6,
b7) ) )
definition
let c1,
c2,
c3 be non
empty set ;
let c4 be
Element of
c1;
let c5 be
Element of
c2;
let c6 be
Element of
c3;
redefine func [ as
[c4,c5,c6] -> Element of
[:a1,a2,a3:];
coherence
[c4,c5,c6] is Element of [:c1,c2,c3:]
by MCART_1:73;
end;
scheme :: BINTREE1:sch 5
s5{
F1()
-> non
empty with_terminals with_nonterminals with_useful_nonterminals binary DTConstrStr ,
F2()
-> non
empty set ,
F3()
-> non
empty set ,
F4(
set ,
set )
-> Element of
F3(),
F5(
set ,
set ,
set ,
set )
-> Element of
F3() } :
ex
b1 being
Function of
TS F1(),
Funcs F2(),
F3() st
( ( for
b2 being
Terminal of
F1() ex
b3 being
Function of
F2(),
F3() st
(
b3 = b1 . (root-tree b2) & ( for
b4 being
Element of
F2() holds
b3 . b4 = F4(
b2,
b4) ) ) ) & ( for
b2 being
NonTerminal of
F1()
for
b3,
b4 being
Element of
TS F1()
for
b5,
b6 being
Symbol of
F1() st
b5 = root-label b3 &
b6 = root-label b4 &
b2 ==> <*b5,b6*> holds
ex
b7,
b8,
b9 being
Function of
F2(),
F3() st
(
b7 = b1 . (b2 -tree b3,b4) &
b8 = b1 . b3 &
b9 = b1 . b4 & ( for
b10 being
Element of
F2() holds
b7 . b10 = F5(
b2,
b8,
b9,
b10) ) ) ) )
scheme :: BINTREE1:sch 6
s6{
F1()
-> non
empty with_terminals with_nonterminals with_useful_nonterminals binary DTConstrStr ,
F2()
-> non
empty set ,
F3()
-> non
empty set ,
F4()
-> Function of
TS F1(),
Funcs F2(),
F3(),
F5()
-> Function of
TS F1(),
Funcs F2(),
F3(),
F6(
set ,
set )
-> Element of
F3(),
F7(
set ,
set ,
set ,
set )
-> Element of
F3() } :
provided
E10:
( ( for
b1 being
Terminal of
F1() ex
b2 being
Function of
F2(),
F3() st
(
b2 = F4()
. (root-tree b1) & ( for
b3 being
Element of
F2() holds
b2 . b3 = F6(
b1,
b3) ) ) ) & ( for
b1 being
NonTerminal of
F1()
for
b2,
b3 being
Element of
TS F1()
for
b4,
b5 being
Symbol of
F1() st
b4 = root-label b2 &
b5 = root-label b3 &
b1 ==> <*b4,b5*> holds
ex
b6,
b7,
b8 being
Function of
F2(),
F3() st
(
b6 = F4()
. (b1 -tree b2,b3) &
b7 = F4()
. b2 &
b8 = F4()
. b3 & ( for
b9 being
Element of
F2() holds
b6 . b9 = F7(
b1,
b7,
b8,
b9) ) ) ) )
and E11:
( ( for
b1 being
Terminal of
F1() ex
b2 being
Function of
F2(),
F3() st
(
b2 = F5()
. (root-tree b1) & ( for
b3 being
Element of
F2() holds
b2 . b3 = F6(
b1,
b3) ) ) ) & ( for
b1 being
NonTerminal of
F1()
for
b2,
b3 being
Element of
TS F1()
for
b4,
b5 being
Symbol of
F1() st
b4 = root-label b2 &
b5 = root-label b3 &
b1 ==> <*b4,b5*> holds
ex
b6,
b7,
b8 being
Function of
F2(),
F3() st
(
b6 = F5()
. (b1 -tree b2,b3) &
b7 = F5()
. b2 &
b8 = F5()
. b3 & ( for
b9 being
Element of
F2() holds
b6 . b9 = F7(
b1,
b7,
b8,
b9) ) ) ) )