:: CIRCUIT2  semantic presentation
Lemma1: 
for b1 being   set   holds not b1 in b1
 
;
theorem Th1: :: CIRCUIT2:1
definition
let c1 be  non 
empty non 
void Circuit-like monotonic  ManySortedSign ;
let c2 be  
non-empty Circuit of 
c1;
let c3 be    
InputValues of 
c2;
func  Fix_inp c3 ->    ManySortedFunction of  
FreeGen the 
Sorts of 
a2,the 
Sorts of 
(FreeEnv a2) means :
Def1: 
:: CIRCUIT2:def 1
for 
b1 being  
Vertex of 
a1 holds 
 ( ( 
b1 in  InputVertices a1 implies 
a4 . b1 = (FreeGen b1,the Sorts of a2) --> (root-tree [(a3 . b1),b1]) ) & ( 
b1 in  SortsWithConstants a1 implies 
a4 . b1 = (FreeGen b1,the Sorts of a2) --> (root-tree [(action_at b1),the carrier of a1]) ) & ( 
b1 in (InnerVertices a1) \ (SortsWithConstants a1) implies 
a4 . b1 =  id (FreeGen b1,the Sorts of a2) ) );
existence 
ex b1 being   ManySortedFunction of  FreeGen the Sorts of c2,the Sorts of (FreeEnv c2) st 
for b2 being  Vertex of c1 holds 
 ( ( b2 in  InputVertices c1 implies b1 . b2 = (FreeGen b2,the Sorts of c2) --> (root-tree [(c3 . b2),b2]) ) & ( b2 in  SortsWithConstants c1 implies b1 . b2 = (FreeGen b2,the Sorts of c2) --> (root-tree [(action_at b2),the carrier of c1]) ) & ( b2 in (InnerVertices c1) \ (SortsWithConstants c1) implies b1 . b2 =  id (FreeGen b2,the Sorts of c2) ) )
 
uniqueness 
for b1, b2 being   ManySortedFunction of  FreeGen the Sorts of c2,the Sorts of (FreeEnv c2)  st ( for b3 being  Vertex of c1 holds 
 ( ( b3 in  InputVertices c1 implies b1 . b3 = (FreeGen b3,the Sorts of c2) --> (root-tree [(c3 . b3),b3]) ) & ( b3 in  SortsWithConstants c1 implies b1 . b3 = (FreeGen b3,the Sorts of c2) --> (root-tree [(action_at b3),the carrier of c1]) ) & ( b3 in (InnerVertices c1) \ (SortsWithConstants c1) implies b1 . b3 =  id (FreeGen b3,the Sorts of c2) ) ) ) & ( for b3 being  Vertex of c1 holds 
 ( ( b3 in  InputVertices c1 implies b2 . b3 = (FreeGen b3,the Sorts of c2) --> (root-tree [(c3 . b3),b3]) ) & ( b3 in  SortsWithConstants c1 implies b2 . b3 = (FreeGen b3,the Sorts of c2) --> (root-tree [(action_at b3),the carrier of c1]) ) & ( b3 in (InnerVertices c1) \ (SortsWithConstants c1) implies b2 . b3 =  id (FreeGen b3,the Sorts of c2) ) ) ) holds 
b1 = b2
 
 
end;
 
:: deftheorem Def1   defines Fix_inp CIRCUIT2:def 1 : 
:: deftheorem Def2   defines Fix_inp_ext CIRCUIT2:def 2 : 
theorem Th2: :: CIRCUIT2:2
theorem Th3: :: CIRCUIT2:3
theorem Th4: :: CIRCUIT2:4
theorem Th5: :: CIRCUIT2:5
theorem Th6: :: CIRCUIT2:6
theorem Th7: :: CIRCUIT2:7
:: deftheorem Def3   defines IGTree CIRCUIT2:def 3 : 
theorem Th8: :: CIRCUIT2:8
theorem Th9: :: CIRCUIT2:9
:: deftheorem Def4   defines IGValue CIRCUIT2:def 4 : 
theorem Th10: :: CIRCUIT2:10
theorem Th11: :: CIRCUIT2:11
:: deftheorem Def5   defines Following CIRCUIT2:def 5 : 
theorem Th12: :: CIRCUIT2:12
:: deftheorem Def6   defines stable CIRCUIT2:def 6 : 
:: deftheorem Def7   defines Following CIRCUIT2:def 7 : 
:: deftheorem Def8   defines InitialComp CIRCUIT2:def 8 : 
definition
let c1 be  non 
empty non 
void Circuit-like monotonic  ManySortedSign ;
let c2 be  
non-empty Circuit of 
c1;
let c3 be   
InputFuncs of 
c2;
let c4 be   
State of 
c2;
func  Computation c4,
c3 ->   Function of  
NAT , 
product the 
Sorts of 
a2 means :
Def9: 
:: CIRCUIT2:def 9
( 
a5 . 0 
=  InitialComp a4,
a3 & ( for 
b1 being  
Nat holds  
a5 . (b1 + 1) =  Following (a5 . b1),
((b1 + 1) -th_InputValues a3) ) );
correctness 
existence 
ex b1 being  Function of  NAT , product the Sorts of c2 st 
( b1 . 0 =  InitialComp c4,c3 & ( for b2 being  Nat holds  b1 . (b2 + 1) =  Following (b1 . b2),((b2 + 1) -th_InputValues c3) ) );
uniqueness 
for b1, b2 being  Function of  NAT , product the Sorts of c2  st b1 . 0 =  InitialComp c4,c3 & ( for b3 being  Nat holds  b1 . (b3 + 1) =  Following (b1 . b3),((b3 + 1) -th_InputValues c3) ) & b2 . 0 =  InitialComp c4,c3 & ( for b3 being  Nat holds  b2 . (b3 + 1) =  Following (b2 . b3),((b3 + 1) -th_InputValues c3) ) holds 
b1 = b2;
 
end;
 
:: deftheorem Def9   defines Computation CIRCUIT2:def 9 : 
theorem Th13: :: CIRCUIT2:13
theorem Th14: :: CIRCUIT2:14
theorem Th15: :: CIRCUIT2:15
theorem Th16: :: CIRCUIT2:16
theorem Th17: :: CIRCUIT2:17
theorem Th18: :: CIRCUIT2:18
theorem Th19: :: CIRCUIT2:19