:: CIRCCMB3 semantic presentation
theorem Th1: :: CIRCCMB3:1
:: deftheorem Def1 defines stabilizing CIRCCMB3:def 1 :
:: deftheorem Def2 defines stabilizing CIRCCMB3:def 2 :
:: deftheorem Def3 defines with_stabilization-limit CIRCCMB3:def 3 :
:: deftheorem Def4 defines Result CIRCCMB3:def 4 :
:: deftheorem Def5 defines stabilization-time CIRCCMB3:def 5 :
theorem Th2: :: CIRCCMB3:2
theorem Th3: :: CIRCCMB3:3
theorem Th4: :: CIRCCMB3:4
theorem Th5: :: CIRCCMB3:5
theorem Th6: :: CIRCCMB3:6
theorem Th7: :: CIRCCMB3:7
canceled;
theorem Th8: :: CIRCCMB3:8
theorem Th9: :: CIRCCMB3:9
theorem Th10: :: CIRCCMB3:10
theorem Th11: :: CIRCCMB3:11
theorem Th12: :: CIRCCMB3:12
theorem Th13: :: CIRCCMB3:13
theorem Th14: :: CIRCCMB3:14
for
b1,
b2,
b3,
b4 being
set holds
rng <*b1,b2,b3,b4*> = {b1,b2,b3,b4}
theorem Th15: :: CIRCCMB3:15
for
b1,
b2,
b3,
b4,
b5 being
set holds
rng <*b1,b2,b3,b4,b5*> = {b1,b2,b3,b4,b5}
definition
let c1,
c2,
c3,
c4 be
set ;
redefine func <* as
<*c1,c2,c3,c4*> -> FinSeqLen of 4;
coherence
<*c1,c2,c3,c4*> is FinSeqLen of 4
let c5 be
set ;
redefine func <* as
<*c1,c2,c3,c4,c5*> -> FinSeqLen of 5;
coherence
<*c1,c2,c3,c4,c5*> is FinSeqLen of 5
end;
:: deftheorem Def6 defines one-gate CIRCCMB3:def 6 :
:: deftheorem Def7 defines one-gate CIRCCMB3:def 7 :
:: deftheorem Def8 defines Output CIRCCMB3:def 8 :
theorem Th16: :: CIRCCMB3:16
theorem Th17: :: CIRCCMB3:17
theorem Th18: :: CIRCCMB3:18
theorem Th19: :: CIRCCMB3:19
theorem Th20: :: CIRCCMB3:20
theorem Th21: :: CIRCCMB3:21
theorem Th22: :: CIRCCMB3:22
scheme :: CIRCCMB3:sch 5
s5{
F1()
-> set ,
F2()
-> set ,
F3()
-> set ,
F4()
-> set ,
F5()
-> set ,
F6()
-> non
empty finite set ,
F7(
set ,
set ,
set ,
set ,
set )
-> Element of
F6() } :
theorem Th23: :: CIRCCMB3:23
theorem Th24: :: CIRCCMB3:24
theorem Th25: :: CIRCCMB3:25
theorem Th26: :: CIRCCMB3:26
:: deftheorem Def9 defines Signature CIRCCMB3:def 9 :
theorem Th27: :: CIRCCMB3:27
:: deftheorem Def10 defines Circuit CIRCCMB3:def 10 :
theorem Th28: :: CIRCCMB3:28
theorem Th29: :: CIRCCMB3:29
canceled;
theorem Th30: :: CIRCCMB3:30
theorem Th31: :: CIRCCMB3:31
theorem Th32: :: CIRCCMB3:32
theorem Th33: :: CIRCCMB3:33
theorem Th34: :: CIRCCMB3:34
theorem Th35: :: CIRCCMB3:35
scheme :: CIRCCMB3:sch 7
s7{
F1()
-> non
empty set ,
F2(
set ,
set )
-> Element of
F1() } :
( ex
b1 being
Function of 2
-tuples_on F1(),
F1() st
for
b2,
b3 being
Element of
F1() holds
b1 . <*b2,b3*> = F2(
b2,
b3) & ( for
b1,
b2 being
Function of 2
-tuples_on F1(),
F1() st ( for
b3,
b4 being
Element of
F1() holds
b1 . <*b3,b4*> = F2(
b3,
b4) ) & ( for
b3,
b4 being
Element of
F1() holds
b2 . <*b3,b4*> = F2(
b3,
b4) ) holds
b1 = b2 ) )
scheme :: CIRCCMB3:sch 8
s8{
F1()
-> non
empty set ,
F2(
set ,
set ,
set )
-> Element of
F1() } :
( ex
b1 being
Function of 3
-tuples_on F1(),
F1() st
for
b2,
b3,
b4 being
Element of
F1() holds
b1 . <*b2,b3,b4*> = F2(
b2,
b3,
b4) & ( for
b1,
b2 being
Function of 3
-tuples_on F1(),
F1() st ( for
b3,
b4,
b5 being
Element of
F1() holds
b1 . <*b3,b4,b5*> = F2(
b3,
b4,
b5) ) & ( for
b3,
b4,
b5 being
Element of
F1() holds
b2 . <*b3,b4,b5*> = F2(
b3,
b4,
b5) ) holds
b1 = b2 ) )
theorem Th36: :: CIRCCMB3:36
theorem Th37: :: CIRCCMB3:37
theorem Th38: :: CIRCCMB3:38
for
b1 being
Function for
b2,
b3,
b4,
b5,
b6 being
set st
b2 in dom b1 &
b3 in dom b1 &
b4 in dom b1 &
b5 in dom b1 &
b6 in dom b1 holds
b1 * <*b2,b3,b4,b5,b6*> = <*(b1 . b2),(b1 . b3),(b1 . b4),(b1 . b5),(b1 . b6)*>
scheme :: CIRCCMB3:sch 11
s11{
F1()
-> set ,
F2()
-> set ,
F3()
-> set ,
F4()
-> non
empty finite set ,
F5(
set ,
set ,
set )
-> Element of
F4(),
F6()
-> Function of 3
-tuples_on F4(),
F4() } :
for
b1 being
State of
(1GateCircuit <*F1(),F2(),F3()*>,F6()) for
b2,
b3,
b4 being
Element of
F4() st
b2 = b1 . F1() &
b3 = b1 . F2() &
b4 = b1 . F3() holds
(Result b1) . (Output (1GateCircStr <*F1(),F2(),F3()*>,F6())) = F5(
b2,
b3,
b4)
provided
scheme :: CIRCCMB3:sch 12
s12{
F1()
-> set ,
F2()
-> set ,
F3()
-> set ,
F4()
-> set ,
F5()
-> non
empty finite set ,
F6(
set ,
set ,
set ,
set )
-> Element of
F5(),
F7()
-> Function of 4
-tuples_on F5(),
F5() } :
for
b1 being
State of
(1GateCircuit <*F1(),F2(),F3(),F4()*>,F7()) for
b2,
b3,
b4,
b5 being
Element of
F5() st
b2 = b1 . F1() &
b3 = b1 . F2() &
b4 = b1 . F3() &
b5 = b1 . F4() holds
(Result b1) . (Output (1GateCircStr <*F1(),F2(),F3(),F4()*>,F7())) = F6(
b2,
b3,
b4,
b5)
provided
E37:
for
b1 being
Function of 4
-tuples_on F5(),
F5() holds
(
b1 = F7() iff for
b2,
b3,
b4,
b5 being
Element of
F5() holds
b1 . <*b2,b3,b4,b5*> = F6(
b2,
b3,
b4,
b5) )
scheme :: CIRCCMB3:sch 13
s13{
F1()
-> set ,
F2()
-> set ,
F3()
-> set ,
F4()
-> set ,
F5()
-> set ,
F6()
-> non
empty finite set ,
F7(
set ,
set ,
set ,
set ,
set )
-> Element of
F6(),
F8()
-> Function of 5
-tuples_on F6(),
F6() } :
for
b1 being
State of
(1GateCircuit <*F1(),F2(),F3(),F4(),F5()*>,F8()) for
b2,
b3,
b4,
b5,
b6 being
Element of
F6() st
b2 = b1 . F1() &
b3 = b1 . F2() &
b4 = b1 . F3() &
b5 = b1 . F4() &
b6 = b1 . F5() holds
(Result b1) . (Output (1GateCircStr <*F1(),F2(),F3(),F4(),F5()*>,F8())) = F7(
b2,
b3,
b4,
b5,
b6)
provided
E37:
for
b1 being
Function of 5
-tuples_on F6(),
F6() holds
(
b1 = F8() iff for
b2,
b3,
b4,
b5,
b6 being
Element of
F6() holds
b1 . <*b2,b3,b4,b5,b6*> = F7(
b2,
b3,
b4,
b5,
b6) )
theorem Th39: :: CIRCCMB3:39
theorem Th40: :: CIRCCMB3:40
theorem Th41: :: CIRCCMB3:41
theorem Th42: :: CIRCCMB3:42
theorem Th43: :: CIRCCMB3:43
theorem Th44: :: CIRCCMB3:44
theorem Th45: :: CIRCCMB3:45
for
b1,
b2,
b3 being
set for
b4 being non
empty finite set for
b5 being
Function of 3
-tuples_on b4,
b4 for
b6 being
Signature of
b4 st
b1 in the
carrier of
b6 & not
b2 in InnerVertices b6 & not
b3 in InnerVertices b6 & not
Output (1GateCircStr <*b1,b2,b3*>,b5) in InputVertices b6 holds
InputVertices (b6 +* (1GateCircStr <*b1,b2,b3*>,b5)) = (InputVertices b6) \/ {b2,b3}
theorem Th46: :: CIRCCMB3:46
for
b1,
b2,
b3 being
set for
b4 being non
empty finite set for
b5 being
Function of 3
-tuples_on b4,
b4 for
b6 being
Signature of
b4 st
b2 in the
carrier of
b6 & not
b1 in InnerVertices b6 & not
b3 in InnerVertices b6 & not
Output (1GateCircStr <*b1,b2,b3*>,b5) in InputVertices b6 holds
InputVertices (b6 +* (1GateCircStr <*b1,b2,b3*>,b5)) = (InputVertices b6) \/ {b1,b3}
theorem Th47: :: CIRCCMB3:47
for
b1,
b2,
b3 being
set for
b4 being non
empty finite set for
b5 being
Function of 3
-tuples_on b4,
b4 for
b6 being
Signature of
b4 st
b3 in the
carrier of
b6 & not
b1 in InnerVertices b6 & not
b2 in InnerVertices b6 & not
Output (1GateCircStr <*b1,b2,b3*>,b5) in InputVertices b6 holds
InputVertices (b6 +* (1GateCircStr <*b1,b2,b3*>,b5)) = (InputVertices b6) \/ {b1,b2}
theorem Th48: :: CIRCCMB3:48
theorem Th49: :: CIRCCMB3:49
theorem Th50: :: CIRCCMB3:50
theorem Th51: :: CIRCCMB3:51
theorem Th52: :: CIRCCMB3:52
scheme :: CIRCCMB3:sch 16
s16{
F1()
-> set ,
F2()
-> set ,
F3()
-> set ,
F4()
-> non
empty finite set ,
F5(
set ,
set ,
set )
-> Element of
F4(),
F6()
-> finite Signature of
F4(),
F7()
-> Circuit of
F4(),
F6(),
F8()
-> Function of 3
-tuples_on F4(),
F4() } :
for
b1 being
State of
(F7() +* (1GateCircuit <*F1(),F2(),F3()*>,F8())) for
b2 being
State of
F7() st
b2 = b1 | the
carrier of
F6() holds
for
b3,
b4,
b5 being
Element of
F4() st (
F1()
in InnerVertices F6() implies
b3 = (Result b2) . F1() ) & ( not
F1()
in InnerVertices F6() implies
b3 = b1 . F1() ) & (
F2()
in InnerVertices F6() implies
b4 = (Result b2) . F2() ) & ( not
F2()
in InnerVertices F6() implies
b4 = b1 . F2() ) & (
F3()
in InnerVertices F6() implies
b5 = (Result b2) . F3() ) & ( not
F3()
in InnerVertices F6() implies
b5 = b1 . F3() ) holds
(Result b1) . (Output (1GateCircStr <*F1(),F2(),F3()*>,F8())) = F5(
b3,
b4,
b5)
provided
E51:
for
b1 being
Function of 3
-tuples_on F4(),
F4() holds
(
b1 = F8() iff for
b2,
b3,
b4 being
Element of
F4() holds
b1 . <*b2,b3,b4*> = F5(
b2,
b3,
b4) )
and E52:
not
Output (1GateCircStr <*F1(),F2(),F3()*>,F8()) in InputVertices F6()
scheme :: CIRCCMB3:sch 17
s17{
F1()
-> set ,
F2()
-> set ,
F3()
-> set ,
F4()
-> set ,
F5()
-> non
empty finite set ,
F6(
set ,
set ,
set ,
set )
-> Element of
F5(),
F7()
-> finite Signature of
F5(),
F8()
-> Circuit of
F5(),
F7(),
F9()
-> Function of 4
-tuples_on F5(),
F5() } :
for
b1 being
State of
(F8() +* (1GateCircuit <*F1(),F2(),F3(),F4()*>,F9())) for
b2 being
State of
F8() st
b2 = b1 | the
carrier of
F7() holds
for
b3,
b4,
b5,
b6 being
Element of
F5() st (
F1()
in InnerVertices F7() implies
b3 = (Result b2) . F1() ) & ( not
F1()
in InnerVertices F7() implies
b3 = b1 . F1() ) & (
F2()
in InnerVertices F7() implies
b4 = (Result b2) . F2() ) & ( not
F2()
in InnerVertices F7() implies
b4 = b1 . F2() ) & (
F3()
in InnerVertices F7() implies
b5 = (Result b2) . F3() ) & ( not
F3()
in InnerVertices F7() implies
b5 = b1 . F3() ) & (
F4()
in InnerVertices F7() implies
b6 = (Result b2) . F4() ) & ( not
F4()
in InnerVertices F7() implies
b6 = b1 . F4() ) holds
(Result b1) . (Output (1GateCircStr <*F1(),F2(),F3(),F4()*>,F9())) = F6(
b3,
b4,
b5,
b6)
provided
E51:
for
b1 being
Function of 4
-tuples_on F5(),
F5() holds
(
b1 = F9() iff for
b2,
b3,
b4,
b5 being
Element of
F5() holds
b1 . <*b2,b3,b4,b5*> = F6(
b2,
b3,
b4,
b5) )
and E52:
not
Output (1GateCircStr <*F1(),F2(),F3(),F4()*>,F9()) in InputVertices F7()
scheme :: CIRCCMB3:sch 18
s18{
F1()
-> set ,
F2()
-> set ,
F3()
-> set ,
F4()
-> set ,
F5()
-> set ,
F6()
-> non
empty finite set ,
F7(
set ,
set ,
set ,
set ,
set )
-> Element of
F6(),
F8()
-> finite Signature of
F6(),
F9()
-> Circuit of
F6(),
F8(),
F10()
-> Function of 5
-tuples_on F6(),
F6() } :
for
b1 being
State of
(F9() +* (1GateCircuit <*F1(),F2(),F3(),F4(),F5()*>,F10())) for
b2 being
State of
F9() st
b2 = b1 | the
carrier of
F8() holds
for
b3,
b4,
b5,
b6,
b7 being
Element of
F6() st (
F1()
in InnerVertices F8() implies
b3 = (Result b2) . F1() ) & ( not
F1()
in InnerVertices F8() implies
b3 = b1 . F1() ) & (
F2()
in InnerVertices F8() implies
b4 = (Result b2) . F2() ) & ( not
F2()
in InnerVertices F8() implies
b4 = b1 . F2() ) & (
F3()
in InnerVertices F8() implies
b5 = (Result b2) . F3() ) & ( not
F3()
in InnerVertices F8() implies
b5 = b1 . F3() ) & (
F4()
in InnerVertices F8() implies
b6 = (Result b2) . F4() ) & ( not
F4()
in InnerVertices F8() implies
b6 = b1 . F4() ) & (
F5()
in InnerVertices F8() implies
b7 = (Result b2) . F5() ) & ( not
F5()
in InnerVertices F8() implies
b7 = b1 . F5() ) holds
(Result b1) . (Output (1GateCircStr <*F1(),F2(),F3(),F4(),F5()*>,F10())) = F7(
b3,
b4,
b5,
b6,
b7)
provided
E51:
for
b1 being
Function of 5
-tuples_on F6(),
F6() holds
(
b1 = F10() iff for
b2,
b3,
b4,
b5,
b6 being
Element of
F6() holds
b1 . <*b2,b3,b4,b5,b6*> = F7(
b2,
b3,
b4,
b5,
b6) )
and E52:
not
Output (1GateCircStr <*F1(),F2(),F3(),F4(),F5()*>,F10()) in InputVertices F8()
:: deftheorem Def11 defines with_nonpair_inputs CIRCCMB3:def 11 :
theorem Th53: :: CIRCCMB3:53
theorem Th54: :: CIRCCMB3:54
theorem Th55: :: CIRCCMB3:55
Lemma53:
for b1 being non pair set holds not {b1} is with_pair
;
Lemma54:
for b1, b2 being without_pairs set holds not b1 \/ b2 is with_pair
;
theorem Th56: :: CIRCCMB3:56
Lemma56:
for b1, b2 being non pair set holds not {b1,b2} is with_pair
;
theorem Th57: :: CIRCCMB3:57
registration
let c1 be non
empty finite set ;
let c2 be
with_nonpair_inputs Signature of
c1;
let c3,
c4 be
Vertex of
c2;
let c5 be non
pair set ;
let c6 be
Function of 3
-tuples_on c1,
c1;
cluster a2 +* (1GateCircStr <*a3,a4,a5*>,a6) -> gate`2=den with_nonpair_inputs ;
coherence
c2 +* (1GateCircStr <*c3,c4,c5*>,c6) is with_nonpair_inputs
by Th57;
cluster a2 +* (1GateCircStr <*a3,a5,a4*>,a6) -> gate`2=den with_nonpair_inputs ;
coherence
c2 +* (1GateCircStr <*c3,c5,c4*>,c6) is with_nonpair_inputs
by Th57;
cluster a2 +* (1GateCircStr <*a5,a3,a4*>,a6) -> gate`2=den with_nonpair_inputs ;
coherence
c2 +* (1GateCircStr <*c5,c3,c4*>,c6) is with_nonpair_inputs
by Th57;
end;
registration
let c1 be non
empty finite set ;
let c2 be
with_nonpair_inputs Signature of
c1;
let c3 be
Vertex of
c2;
let c4,
c5 be non
pair set ;
let c6 be
Function of 3
-tuples_on c1,
c1;
cluster a2 +* (1GateCircStr <*a3,a4,a5*>,a6) -> gate`2=den with_nonpair_inputs ;
coherence
c2 +* (1GateCircStr <*c3,c4,c5*>,c6) is with_nonpair_inputs
by Th57;
cluster a2 +* (1GateCircStr <*a4,a3,a5*>,a6) -> gate`2=den with_nonpair_inputs ;
coherence
c2 +* (1GateCircStr <*c4,c3,c5*>,c6) is with_nonpair_inputs
by Th57;
cluster a2 +* (1GateCircStr <*a4,a5,a3*>,a6) -> gate`2=den with_nonpair_inputs ;
coherence
c2 +* (1GateCircStr <*c4,c5,c3*>,c6) is with_nonpair_inputs
by Th57;
end;