:: CIRCCMB2 semantic presentation
theorem Th1: :: CIRCCMB2:1
theorem Th2: :: CIRCCMB2:2
theorem Th3: :: CIRCCMB2:3
theorem Th4: :: CIRCCMB2:4
scheme :: CIRCCMB2:sch 2
s2{ F
1(
set ,
set ,
set )
-> non
empty ManySortedSign , F
2(
set ,
set )
-> set , P
1[
set ,
set ,
set ], F
3()
-> ManySortedSet of
NAT , F
4()
-> ManySortedSet of
NAT } :
provided
E4:
ex b
1 being non
empty ManySortedSign ex b
2 being
set st
( b
1 = F
3()
. 0 & b
2 = F
4()
. 0 & P
1[b
1,b
2,0] )
and
E5:
for b
1 being
Natfor b
2 being non
empty ManySortedSign for b
3 being
set holds
( b
2 = F
3()
. b
1 & b
3 = F
4()
. b
1 implies ( F
3()
. (b1 + 1) = F
1(b
2,b
3,b
1) & F
4()
. (b1 + 1) = F
2(b
3,b
1) ) )
and
E6:
for b
1 being
Natfor b
2 being non
empty ManySortedSign for b
3 being
set holds
( b
2 = F
3()
. b
1 & b
3 = F
4()
. b
1 & P
1[b
2,b
3,b
1] implies P
1[F
1(b
2,b
3,b
1),F
2(b
3,b
1),b
1 + 1] )
defpred S1[ set , set , set ] means verum;
scheme :: CIRCCMB2:sch 3
s3{ F
1()
-> non
empty ManySortedSign , F
2(
set ,
set ,
set )
-> non
empty ManySortedSign , F
3(
set ,
set )
-> set , F
4()
-> ManySortedSet of
NAT , F
5()
-> ManySortedSet of
NAT } :
for b
1 being
Natfor b
2 being
set holds
( b
2 = F
5()
. b
1 implies F
5()
. (b1 + 1) = F
3(b
2,b
1) )
provided
E4:
F
4()
. 0
= F
1()
and
E5:
for b
1 being
Natfor b
2 being non
empty ManySortedSign for b
3 being
set holds
( b
2 = F
4()
. b
1 & b
3 = F
5()
. b
1 implies ( F
4()
. (b1 + 1) = F
2(b
2,b
3,b
1) & F
5()
. (b1 + 1) = F
3(b
3,b
1) ) )
scheme :: CIRCCMB2:sch 6
s6{ F
1()
-> non
empty ManySortedSign , F
2()
-> set , F
3(
set ,
set ,
set )
-> non
empty ManySortedSign , F
4(
set ,
set )
-> set , F
5()
-> Nat } :
( ex b
1 being non
empty ManySortedSign ex b
2, b
3 being
ManySortedSet of
NAT st
( b
1 = b
2 . F
5() & b
2 . 0
= F
1() & b
3 . 0
= F
2() & ( for b
4 being
Natfor b
5 being non
empty ManySortedSign for b
6 being
set holds
( b
5 = b
2 . b
4 & b
6 = b
3 . b
4 implies ( b
2 . (b4 + 1) = F
3(b
5,b
6,b
4) & b
3 . (b4 + 1) = F
4(b
6,b
4) ) ) ) ) & ( for b
1, b
2 being non
empty ManySortedSign holds
( ex b
3, b
4 being
ManySortedSet of
NAT st
( b
1 = b
3 . F
5() & b
3 . 0
= F
1() & b
4 . 0
= F
2() & ( for b
5 being
Natfor b
6 being non
empty ManySortedSign for b
7 being
set holds
( b
6 = b
3 . b
5 & b
7 = b
4 . b
5 implies ( b
3 . (b5 + 1) = F
3(b
6,b
7,b
5) & b
4 . (b5 + 1) = F
4(b
7,b
5) ) ) ) ) & ex b
3, b
4 being
ManySortedSet of
NAT st
( b
2 = b
3 . F
5() & b
3 . 0
= F
1() & b
4 . 0
= F
2() & ( for b
5 being
Natfor b
6 being non
empty ManySortedSign for b
7 being
set holds
( b
6 = b
3 . b
5 & b
7 = b
4 . b
5 implies ( b
3 . (b5 + 1) = F
3(b
6,b
7,b
5) & b
4 . (b5 + 1) = F
4(b
7,b
5) ) ) ) ) implies b
1 = b
2 ) ) )
scheme :: CIRCCMB2:sch 7
s7{ F
1()
-> non
empty ManySortedSign , F
2(
set ,
set ,
set )
-> non
empty ManySortedSign , F
3()
-> set , F
4(
set ,
set )
-> set , F
5()
-> Nat } :
provided
E4:
( F
1() is
unsplit & F
1() is
gate`1=arity & F
1() is
gate`2isBoolean & not F
1() is
void & not F
1() is
empty & F
1() is
strict )
and
E5:
for b
1 being non
empty strict non
void unsplit gate`1=arity gate`2isBoolean ManySortedSign for b
2 being
set for b
3 being
Nat holds
( F
2(b
1,b
2,b
3) is
unsplit & F
2(b
1,b
2,b
3) is
gate`1=arity & F
2(b
1,b
2,b
3) is
gate`2isBoolean & not F
2(b
1,b
2,b
3) is
void & not F
2(b
1,b
2,b
3) is
empty & F
2(b
1,b
2,b
3) is
strict )
theorem Th5: :: CIRCCMB2:5
theorem Th6: :: CIRCCMB2:6
theorem Th7: :: CIRCCMB2:7
theorem Th8: :: CIRCCMB2:8
theorem Th9: :: CIRCCMB2:9
scheme :: CIRCCMB2:sch 12
s12{ F
1()
-> non
empty ManySortedSign , F
2()
-> non-empty MSAlgebra of F
1(), F
3()
-> set , F
4(
set ,
set ,
set )
-> non
empty ManySortedSign , F
5(
set ,
set ,
set ,
set )
-> set , F
6(
set ,
set )
-> set } :
scheme :: CIRCCMB2:sch 13
s13{ F
1(
set ,
set ,
set )
-> non
empty ManySortedSign , F
2(
set ,
set ,
set ,
set )
-> set , F
3(
set ,
set )
-> set , P
1[
set ,
set ,
set ,
set ], F
4()
-> ManySortedSet of
NAT , F
5()
-> ManySortedSet of
NAT , F
6()
-> ManySortedSet of
NAT } :
provided
E8:
ex b
1 being non
empty ManySortedSign ex b
2 being
non-empty MSAlgebra of b
1ex b
3 being
set st
( b
1 = F
4()
. 0 & b
2 = F
5()
. 0 & b
3 = F
6()
. 0 & P
1[b
1,b
2,b
3,0] )
and
E9:
for b
1 being
Natfor b
2 being non
empty ManySortedSign for b
3 being
non-empty MSAlgebra of b
2for b
4 being
set holds
( b
2 = F
4()
. b
1 & b
3 = F
5()
. b
1 & b
4 = F
6()
. b
1 implies ( F
4()
. (b1 + 1) = F
1(b
2,b
4,b
1) & F
5()
. (b1 + 1) = F
2(b
2,b
3,b
4,b
1) & F
6()
. (b1 + 1) = F
3(b
4,b
1) ) )
and
E10:
for b
1 being
Natfor b
2 being non
empty ManySortedSign for b
3 being
non-empty MSAlgebra of b
2for b
4 being
set holds
( b
2 = F
4()
. b
1 & b
3 = F
5()
. b
1 & b
4 = F
6()
. b
1 & P
1[b
2,b
3,b
4,b
1] implies P
1[F
1(b
2,b
4,b
1),F
2(b
2,b
3,b
4,b
1),F
3(b
4,b
1),b
1 + 1] )
and
E11:
for b
1 being non
empty ManySortedSign for b
2 being
non-empty MSAlgebra of b
1for b
3 being
set for b
4 being
Nat holds
F
2(b
1,b
2,b
3,b
4) is
non-empty MSAlgebra of F
1(b
1,b
3,b
4)
defpred S2[ set , set , set , set ] means verum;
scheme :: CIRCCMB2:sch 14
s14{ F
1(
set ,
set ,
set )
-> non
empty ManySortedSign , F
2(
set ,
set ,
set ,
set )
-> set , F
3(
set ,
set )
-> set , F
4()
-> ManySortedSet of
NAT , F
5()
-> ManySortedSet of
NAT , F
6()
-> ManySortedSet of
NAT , F
7()
-> ManySortedSet of
NAT , F
8()
-> ManySortedSet of
NAT , F
9()
-> ManySortedSet of
NAT } :
( F
4()
= F
5() & F
6()
= F
7() & F
8()
= F
9() )
provided
E8:
ex b
1 being non
empty ManySortedSign ex b
2 being
non-empty MSAlgebra of b
1 st
( b
1 = F
4()
. 0 & b
2 = F
6()
. 0 )
and
E9:
( F
4()
. 0
= F
5()
. 0 & F
6()
. 0
= F
7()
. 0 & F
8()
. 0
= F
9()
. 0 )
and
E10:
for b
1 being
Natfor b
2 being non
empty ManySortedSign for b
3 being
non-empty MSAlgebra of b
2for b
4 being
set holds
( b
2 = F
4()
. b
1 & b
3 = F
6()
. b
1 & b
4 = F
8()
. b
1 implies ( F
4()
. (b1 + 1) = F
1(b
2,b
4,b
1) & F
6()
. (b1 + 1) = F
2(b
2,b
3,b
4,b
1) & F
8()
. (b1 + 1) = F
3(b
4,b
1) ) )
and
E11:
for b
1 being
Natfor b
2 being non
empty ManySortedSign for b
3 being
non-empty MSAlgebra of b
2for b
4 being
set holds
( b
2 = F
5()
. b
1 & b
3 = F
7()
. b
1 & b
4 = F
9()
. b
1 implies ( F
5()
. (b1 + 1) = F
1(b
2,b
4,b
1) & F
7()
. (b1 + 1) = F
2(b
2,b
3,b
4,b
1) & F
9()
. (b1 + 1) = F
3(b
4,b
1) ) )
and
E12:
for b
1 being non
empty ManySortedSign for b
2 being
non-empty MSAlgebra of b
1for b
3 being
set for b
4 being
Nat holds
F
2(b
1,b
2,b
3,b
4) is
non-empty MSAlgebra of F
1(b
1,b
3,b
4)
scheme :: CIRCCMB2:sch 15
s15{ F
1()
-> non
empty ManySortedSign , F
2()
-> non-empty MSAlgebra of F
1(), F
3(
set ,
set ,
set )
-> non
empty ManySortedSign , F
4(
set ,
set ,
set ,
set )
-> set , F
5(
set ,
set )
-> set , F
6()
-> ManySortedSet of
NAT , F
7()
-> ManySortedSet of
NAT , F
8()
-> ManySortedSet of
NAT } :
for b
1 being
Natfor b
2 being non
empty ManySortedSign for b
3 being
set holds
( b
2 = F
6()
. b
1 & b
3 = F
8()
. b
1 implies ( F
6()
. (b1 + 1) = F
3(b
2,b
3,b
1) & F
8()
. (b1 + 1) = F
5(b
3,b
1) ) )
provided
E8:
( F
6()
. 0
= F
1() & F
7()
. 0
= F
2() )
and
E9:
for b
1 being
Natfor b
2 being non
empty ManySortedSign for b
3 being
non-empty MSAlgebra of b
2for b
4 being
set holds
( b
2 = F
6()
. b
1 & b
3 = F
7()
. b
1 & b
4 = F
8()
. b
1 implies ( F
6()
. (b1 + 1) = F
3(b
2,b
4,b
1) & F
7()
. (b1 + 1) = F
4(b
2,b
3,b
4,b
1) & F
8()
. (b1 + 1) = F
5(b
4,b
1) ) )
and
E10:
for b
1 being non
empty ManySortedSign for b
2 being
non-empty MSAlgebra of b
1for b
3 being
set for b
4 being
Nat holds
F
4(b
1,b
2,b
3,b
4) is
non-empty MSAlgebra of F
3(b
1,b
3,b
4)
scheme :: CIRCCMB2:sch 16
s16{ F
1()
-> non
empty ManySortedSign , F
2()
-> non-empty MSAlgebra of F
1(), F
3()
-> set , F
4(
set ,
set ,
set )
-> non
empty ManySortedSign , F
5(
set ,
set ,
set ,
set )
-> set , F
6(
set ,
set )
-> set , F
7()
-> Nat } :
provided
scheme :: CIRCCMB2:sch 17
s17{ F
1()
-> non
empty ManySortedSign , F
2()
-> non
empty ManySortedSign , F
3()
-> non-empty MSAlgebra of F
1(), F
4()
-> set , F
5(
set ,
set ,
set )
-> non
empty ManySortedSign , F
6(
set ,
set ,
set ,
set )
-> set , F
7(
set ,
set )
-> set , F
8()
-> Nat } :
provided
scheme :: CIRCCMB2:sch 18
s18{ F
1()
-> non
empty ManySortedSign , F
2()
-> non
empty ManySortedSign , F
3()
-> non-empty MSAlgebra of F
1(), F
4()
-> set , F
5(
set ,
set ,
set )
-> non
empty ManySortedSign , F
6(
set ,
set ,
set ,
set )
-> set , F
7(
set ,
set )
-> set , F
8()
-> Nat } :
for b
1, b
2 being
non-empty MSAlgebra of F
2() holds
( ex b
3, b
4, b
5 being
ManySortedSet of
NAT st
( F
2()
= b
3 . F
8() & b
1 = b
4 . F
8() & b
3 . 0
= F
1() & b
4 . 0
= F
3() & b
5 . 0
= F
4() & ( for b
6 being
Natfor b
7 being non
empty ManySortedSign for b
8 being
non-empty MSAlgebra of b
7for b
9 being
set holds
( b
7 = b
3 . b
6 & b
8 = b
4 . b
6 & b
9 = b
5 . b
6 implies ( b
3 . (b6 + 1) = F
5(b
7,b
9,b
6) & b
4 . (b6 + 1) = F
6(b
7,b
8,b
9,b
6) & b
5 . (b6 + 1) = F
7(b
9,b
6) ) ) ) ) & ex b
3, b
4, b
5 being
ManySortedSet of
NAT st
( F
2()
= b
3 . F
8() & b
2 = b
4 . F
8() & b
3 . 0
= F
1() & b
4 . 0
= F
3() & b
5 . 0
= F
4() & ( for b
6 being
Natfor b
7 being non
empty ManySortedSign for b
8 being
non-empty MSAlgebra of b
7for b
9 being
set holds
( b
7 = b
3 . b
6 & b
8 = b
4 . b
6 & b
9 = b
5 . b
6 implies ( b
3 . (b6 + 1) = F
5(b
7,b
9,b
6) & b
4 . (b6 + 1) = F
6(b
7,b
8,b
9,b
6) & b
5 . (b6 + 1) = F
7(b
9,b
6) ) ) ) ) implies b
1 = b
2 )
provided
scheme :: CIRCCMB2:sch 19
s19{ F
1()
-> non
empty strict non
void unsplit gate`1=arity gate`2isBoolean ManySortedSign , F
2()
-> non
empty strict non
void unsplit gate`1=arity gate`2isBoolean ManySortedSign , F
3()
-> strict gate`2=den Boolean Circuit of F
1(), F
4(
set ,
set ,
set )
-> non
empty ManySortedSign , F
5(
set ,
set ,
set ,
set )
-> set , F
6()
-> set , F
7(
set ,
set )
-> set , F
8()
-> Nat } :
provided
E8:
for b
1 being non
empty strict non
void unsplit gate`1=arity gate`2isBoolean ManySortedSign for b
2 being
set for b
3 being
Nat holds
( F
4(b
1,b
2,b
3) is
unsplit & F
4(b
1,b
2,b
3) is
gate`1=arity & F
4(b
1,b
2,b
3) is
gate`2isBoolean & not F
4(b
1,b
2,b
3) is
void & F
4(b
1,b
2,b
3) is
strict )
and
E9:
ex b
1, b
2 being
ManySortedSet of
NAT st
( F
2()
= b
1 . F
8() & b
1 . 0
= F
1() & b
2 . 0
= F
6() & ( for b
3 being
Natfor b
4 being non
empty ManySortedSign for b
5 being
set holds
( b
4 = b
1 . b
3 & b
5 = b
2 . b
3 implies ( b
1 . (b3 + 1) = F
4(b
4,b
5,b
3) & b
2 . (b3 + 1) = F
7(b
5,b
3) ) ) ) )
and
E10:
for b
1 being non
empty ManySortedSign for b
2 being
non-empty MSAlgebra of b
1for b
3 being
set for b
4 being
Nat holds
F
5(b
1,b
2,b
3,b
4) is
non-empty MSAlgebra of F
4(b
1,b
3,b
4)
and
E11:
for b
1, b
2 being non
empty strict non
void unsplit gate`1=arity gate`2isBoolean ManySortedSign for b
3 being
strict gate`2=den Boolean Circuit of b
1for b
4 being
set for b
5 being
Nat holds
( b
2 = F
4(b
1,b
4,b
5) implies F
5(b
1,b
3,b
4,b
5) is
strict gate`2=den Boolean Circuit of b
2 )
:: deftheorem Def1 defines MSAlg CIRCCMB2:def 1 :
scheme :: CIRCCMB2:sch 20
s20{ F
1()
-> non
empty strict non
void unsplit gate`1=arity gate`2isBoolean ManySortedSign , F
2()
-> non
empty strict non
void unsplit gate`1=arity gate`2isBoolean ManySortedSign , F
3()
-> strict gate`2=den Boolean Circuit of F
1(), F
4(
set ,
set )
-> non
empty non
void unsplit gate`1=arity gate`2isBoolean ManySortedSign , F
5(
set ,
set )
-> set , F
6()
-> set , F
7(
set ,
set )
-> set , F
8()
-> Nat } :
provided
scheme :: CIRCCMB2:sch 21
s21{ F
1()
-> non
empty ManySortedSign , F
2()
-> non
empty strict non
void unsplit gate`1=arity gate`2isBoolean ManySortedSign , F
3()
-> non-empty MSAlgebra of F
1(), F
4()
-> set , F
5(
set ,
set ,
set )
-> non
empty ManySortedSign , F
6(
set ,
set ,
set ,
set )
-> set , F
7(
set ,
set )
-> set , F
8()
-> Nat } :
for b
1, b
2 being
strict gate`2=den Boolean Circuit of F
2() holds
( ex b
3, b
4, b
5 being
ManySortedSet of
NAT st
( F
2()
= b
3 . F
8() & b
1 = b
4 . F
8() & b
3 . 0
= F
1() & b
4 . 0
= F
3() & b
5 . 0
= F
4() & ( for b
6 being
Natfor b
7 being non
empty ManySortedSign for b
8 being
non-empty MSAlgebra of b
7for b
9 being
set holds
( b
7 = b
3 . b
6 & b
8 = b
4 . b
6 & b
9 = b
5 . b
6 implies ( b
3 . (b6 + 1) = F
5(b
7,b
9,b
6) & b
4 . (b6 + 1) = F
6(b
7,b
8,b
9,b
6) & b
5 . (b6 + 1) = F
7(b
9,b
6) ) ) ) ) & ex b
3, b
4, b
5 being
ManySortedSet of
NAT st
( F
2()
= b
3 . F
8() & b
2 = b
4 . F
8() & b
3 . 0
= F
1() & b
4 . 0
= F
3() & b
5 . 0
= F
4() & ( for b
6 being
Natfor b
7 being non
empty ManySortedSign for b
8 being
non-empty MSAlgebra of b
7for b
9 being
set holds
( b
7 = b
3 . b
6 & b
8 = b
4 . b
6 & b
9 = b
5 . b
6 implies ( b
3 . (b6 + 1) = F
5(b
7,b
9,b
6) & b
4 . (b6 + 1) = F
6(b
7,b
8,b
9,b
6) & b
5 . (b6 + 1) = F
7(b
9,b
6) ) ) ) ) implies b
1 = b
2 )
provided
theorem Th10: :: CIRCCMB2:10
theorem Th11: :: CIRCCMB2:11
theorem Th12: :: CIRCCMB2:12
theorem Th13: :: CIRCCMB2:13
theorem Th14: :: CIRCCMB2:14
theorem Th15: :: CIRCCMB2:15
theorem Th16: :: CIRCCMB2:16
theorem Th17: :: CIRCCMB2:17
theorem Th18: :: CIRCCMB2:18
theorem Th19: :: CIRCCMB2:19
theorem Th20: :: CIRCCMB2:20
theorem Th21: :: CIRCCMB2:21
theorem Th22: :: CIRCCMB2:22
theorem Th23: :: CIRCCMB2:23
theorem Th24: :: CIRCCMB2:24
theorem Th25: :: CIRCCMB2:25
scheme :: CIRCCMB2:sch 22
s22{ F
1()
-> non
empty strict non
void unsplit gate`1=arity gate`2isBoolean ManySortedSign , F
2()
-> non
empty strict non
void unsplit gate`1=arity gate`2isBoolean ManySortedSign , F
3()
-> strict gate`2=den Boolean Circuit of F
1(), F
4()
-> strict gate`2=den Boolean Circuit of F
2(), F
5(
set ,
set )
-> non
empty strict non
void unsplit gate`1=arity gate`2isBoolean ManySortedSign , F
6(
set ,
set )
-> set , F
7()
-> ManySortedSet of
NAT , F
8()
-> set , F
9(
set ,
set )
-> set , F
10(
Nat)
-> Nat } :
provided
E19:
for b
1 being
set for b
2 being
Nat holds
F
6(b
1,b
2) is
strict gate`2=den Boolean Circuit of F
5(b
1,b
2)
and
E20:
for b
1 being
State of F
3() holds
Following b
1,F
10(0) is
stable
and
E21:
for b
1 being
Natfor b
2 being
set for b
3 being
non-empty Circuit of F
5(b
2,b
1) holds
( b
2 = F
7()
. b
1 & b
3 = F
6(b
2,b
1) implies for b
4 being
State of b
3 holds
Following b
4,F
10(1) is
stable )
and
E22:
ex b
1, b
2 being
ManySortedSet of
NAT st
( F
2()
= b
1 . F
10(2) & F
4()
= b
2 . F
10(2) & b
1 . 0
= F
1() & b
2 . 0
= F
3() & F
7()
. 0
= F
8() & ( for b
3 being
Natfor b
4 being non
empty ManySortedSign for b
5 being
non-empty MSAlgebra of b
4for b
6 being
set for b
7 being
non-empty MSAlgebra of F
5(b
6,b
3) holds
( b
4 = b
1 . b
3 & b
5 = b
2 . b
3 & b
6 = F
7()
. b
3 & b
7 = F
6(b
6,b
3) implies ( b
1 . (b3 + 1) = b
4 +* F
5(b
6,b
3) & b
2 . (b3 + 1) = b
5 +* b
7 & F
7()
. (b3 + 1) = F
9(b
6,b
3) ) ) ) )
and
E23:
(
InnerVertices F
1() is
Relation & not
InputVertices F
1() is
with_pair )
and
E24:
( F
7()
. 0
= F
8() & F
8()
in InnerVertices F
1() )
and
E25:
for b
1 being
Natfor b
2 being
set holds
InnerVertices F
5(b
2,b
1) is
Relation
and
E26:
for b
1 being
Natfor b
2 being
set holds
not ( b
2 = F
7()
. b
1 &
(InputVertices F5(b2,b1)) \ {b2} is
with_pair )
and
E27:
for b
1 being
Natfor b
2 being
set holds
( b
2 = F
7()
. b
1 implies ( F
7()
. (b1 + 1) = F
9(b
2,b
1) & b
2 in InputVertices F
5(b
2,b
1) & F
9(b
2,b
1)
in InnerVertices F
5(b
2,b
1) ) )