:: FSCIRC_2 semantic presentation
REAL
is
set
NAT
is non
empty
V2
()
V9
()
V10
()
V11
()
V36
()
cardinal
limit_cardinal
V51
()
V52
()
Element
of
K18
(
REAL
)
K18
(
REAL
) is
set
COMPLEX
is
set
RAT
is
set
INT
is
set
K19
(
COMPLEX
,
COMPLEX
) is
Relation-like
set
K18
(
K19
(
COMPLEX
,
COMPLEX
)) is
set
K19
(
K19
(
COMPLEX
,
COMPLEX
),
COMPLEX
) is
Relation-like
set
K18
(
K19
(
K19
(
COMPLEX
,
COMPLEX
),
COMPLEX
)) is
set
K19
(
REAL
,
REAL
) is
Relation-like
set
K18
(
K19
(
REAL
,
REAL
)) is
set
K19
(
K19
(
REAL
,
REAL
),
REAL
) is
Relation-like
set
K18
(
K19
(
K19
(
REAL
,
REAL
),
REAL
)) is
set
K19
(
RAT
,
RAT
) is
Relation-like
set
K18
(
K19
(
RAT
,
RAT
)) is
set
K19
(
K19
(
RAT
,
RAT
),
RAT
) is
Relation-like
set
K18
(
K19
(
K19
(
RAT
,
RAT
),
RAT
)) is
set
K19
(
INT
,
INT
) is
Relation-like
set
K18
(
K19
(
INT
,
INT
)) is
set
K19
(
K19
(
INT
,
INT
),
INT
) is
Relation-like
set
K18
(
K19
(
K19
(
INT
,
INT
),
INT
)) is
set
K19
(
NAT
,
NAT
) is
V2
()
Relation-like
V36
()
set
K19
(
K19
(
NAT
,
NAT
),
NAT
) is
V2
()
Relation-like
V36
()
set
K18
(
K19
(
K19
(
NAT
,
NAT
),
NAT
)) is
V2
()
V36
()
set
NAT
is non
empty
V2
()
V9
()
V10
()
V11
()
V36
()
cardinal
limit_cardinal
V51
()
V52
()
set
K18
(
NAT
) is
V2
()
V36
()
set
K18
(
NAT
) is
V2
()
V36
()
set
BOOLEAN
is non
empty
set
0
is
empty
Relation-like
non-empty
empty-yielding
NAT
-defined
V9
()
V10
()
V11
()
V13
()
V14
()
V15
()
Function-like
one-to-one
constant
functional
non
pair
V30
()
V31
()
V36
()
V37
()
V40
()
cardinal
{}
-element
FinSequence-like
FinSubsequence-like
FinSequence-membered
V48
()
V49
()
V51
() non
with_pair
nonpair-yielding
ext-real
non
positive
non
negative
Element
of
NAT
{}
is
empty
Relation-like
non-empty
empty-yielding
NAT
-defined
V9
()
V10
()
V11
()
V13
()
V14
()
V15
()
Function-like
one-to-one
constant
functional
non
pair
V30
()
V31
()
V36
()
V37
()
V40
()
cardinal
{}
-element
FinSequence-like
FinSubsequence-like
FinSequence-membered
V48
()
V49
()
V51
() non
with_pair
nonpair-yielding
ext-real
non
positive
non
negative
set
the
empty
Relation-like
non-empty
empty-yielding
NAT
-defined
V9
()
V10
()
V11
()
V13
()
V14
()
V15
()
Function-like
one-to-one
constant
functional
non
pair
V30
()
V31
()
V36
()
V37
()
V40
()
cardinal
{}
-element
FinSequence-like
FinSubsequence-like
FinSequence-membered
V48
()
V49
()
V51
() non
with_pair
nonpair-yielding
ext-real
non
positive
non
negative
set
is
empty
Relation-like
non-empty
empty-yielding
NAT
-defined
V9
()
V10
()
V11
()
V13
()
V14
()
V15
()
Function-like
one-to-one
constant
functional
non
pair
V30
()
V31
()
V36
()
V37
()
V40
()
cardinal
{}
-element
FinSequence-like
FinSubsequence-like
FinSequence-membered
V48
()
V49
()
V51
() non
with_pair
nonpair-yielding
ext-real
non
positive
non
negative
set
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
{
0
,1
}
is non
empty
V36
()
V40
()
V51
() non
with_pair
set
{
{}
,1
}
is non
empty
V36
()
V40
()
V51
() non
with_pair
set
K348
() is
set
K18
(
K348
()) is
set
K349
() is
Element
of
K18
(
K348
())
K389
() is non
empty
V95
()
L10
()
the
carrier
of
K389
() is non
empty
set
K352
( the
carrier
of
K389
()) is non
empty
M24
( the
carrier
of
K389
())
K388
(
K389
()) is
Element
of
K18
(
K352
( the
carrier
of
K389
()))
K18
(
K352
( the
carrier
of
K389
())) is
set
K19
(
K388
(
K389
()),
NAT
) is
Relation-like
set
K18
(
K19
(
K388
(
K389
()),
NAT
)) is
set
K19
(
NAT
,
K388
(
K389
())) is
Relation-like
set
K18
(
K19
(
NAT
,
K388
(
K389
()))) is
set
2 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
2
-tuples_on
BOOLEAN
is non
empty
functional
FinSequence-membered
FinSequenceSet
of
BOOLEAN
K19
(
(
2
-tuples_on
BOOLEAN
)
,
BOOLEAN
) is
Relation-like
set
K18
(
K19
(
(
2
-tuples_on
BOOLEAN
)
,
BOOLEAN
)) is
set
3 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
3
-tuples_on
BOOLEAN
is non
empty
functional
FinSequence-membered
FinSequenceSet
of
BOOLEAN
K19
(
(
3
-tuples_on
BOOLEAN
)
,
BOOLEAN
) is
Relation-like
set
K18
(
K19
(
(
3
-tuples_on
BOOLEAN
)
,
BOOLEAN
)) is
set
'xor'
is
Relation-like
Function-like
V27
(2
-tuples_on
BOOLEAN
,
BOOLEAN
)
boolean-valued
Element
of
K18
(
K19
(
(
2
-tuples_on
BOOLEAN
)
,
BOOLEAN
))
Seg
1 is non
empty
V2
()
V36
() 1
-element
V51
()
Element
of
K18
(
NAT
)
or3
is
Relation-like
Function-like
V27
(3
-tuples_on
BOOLEAN
,
BOOLEAN
)
boolean-valued
Element
of
K18
(
K19
(
(
3
-tuples_on
BOOLEAN
)
,
BOOLEAN
))
and2
is
Relation-like
Function-like
V27
(2
-tuples_on
BOOLEAN
,
BOOLEAN
)
boolean-valued
Element
of
K18
(
K19
(
(
2
-tuples_on
BOOLEAN
)
,
BOOLEAN
))
and2a
is
Relation-like
Function-like
V27
(2
-tuples_on
BOOLEAN
,
BOOLEAN
)
boolean-valued
Element
of
K18
(
K19
(
(
2
-tuples_on
BOOLEAN
)
,
BOOLEAN
))
K18
(
K19
(
NAT
,
NAT
)) is
V2
()
V36
()
set
f
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
g
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
0
-tuples_on
BOOLEAN
is non
empty
functional
FinSequence-membered
FinSequenceSet
of
BOOLEAN
TRUE
is
boolean
Element
of
BOOLEAN
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
is
Relation-like
Function-like
V27
(
0
-tuples_on
BOOLEAN
,
BOOLEAN
)
boolean-valued
Element
of
K18
(
K19
(
(
0
-tuples_on
BOOLEAN
)
,
BOOLEAN
))
K19
(
(
0
-tuples_on
BOOLEAN
)
,
BOOLEAN
) is
Relation-like
set
K18
(
K19
(
(
0
-tuples_on
BOOLEAN
)
,
BOOLEAN
)) is
set
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
[
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
]
is non
empty
pair
set
{
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
}
is non
empty
functional
V36
()
V51
()
set
{
{}
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
() non
with_pair
set
{
{
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
}
,
{
{}
}
}
is non
empty
V36
()
V40
()
V51
()
set
S0
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
N
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
N
.
n
is
set
N
.
0
is
set
h
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
h
.
0
is
set
A0
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
Sn
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
Sn
.
n
is
set
Sn
.
0
is
set
An
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
An
.
0
is
set
S0
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
A0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
A0
.
n
is
set
A0
.
0
is
set
N
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
N
.
0
is
set
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
f
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
g
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircuit
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
Sn
is non
empty
V71
()
ManySortedSign
f1
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
f1
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
.
(
f1
+
1
)
is
set
g
.
(
f1
+
1
)
is
set
o0
is
set
BitSubtracterWithBorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
}
,
{
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
}
,
{
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
An
is
non-empty
MSAlgebra
over
Sn
BitSubtracterWithBorrowCirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
) is
strict
non-empty
finitely-generated
V107
(
BitSubtracterWithBorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
))
gate`2=den
Boolean
MSAlgebra
over
BitSubtracterWithBorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
BitSubtracterCirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
)
2GatesCircuit
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
)
1GateCircuit
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
)
1GateCircuit
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
)
(
1GateCircuit
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
'xor'
)
)
+*
(
1GateCircuit
(
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
,
'xor'
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
)
)
BorrowCirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
BorrowICirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
1GateCircuit
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
(
g
.
(
f1
+
1
)
)
,
o0
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
1GateCircuit
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
(
1GateCircuit
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
g
.
(
f1
+
1
)
)
,
o0
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
)
1GateCircuit
(
(
f
.
(
f1
+
1
)
)
,
o0
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
)
1GateCircuit
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
)
(
(
1GateCircuit
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
g
.
(
f1
+
1
)
)
,
o0
,
and2
)
)
)
+*
(
1GateCircuit
(
(
f
.
(
f1
+
1
)
)
,
o0
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
)
)
1GateCircuit
(
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
+*
(
1GateCircuit
(
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
)
)
(
BitSubtracterCirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
+*
(
BorrowCirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
is
strict
non-empty
finitely-generated
V107
(
(
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
An
+*
(
BitSubtracterWithBorrowCirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
is
strict
non-empty
MSAlgebra
over
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
is non
empty
non
void
V71
()
strict
ManySortedSign
Sn
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
o0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
o0
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
.
(
o0
+
1
)
is
set
g
.
(
o0
+
1
)
is
set
An
is
set
BitSubtracterWithBorrowStr
(
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
,
An
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
,
An
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
'xor'
]
,
An
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
'xor'
]
,
An
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
'xor'
]
,
An
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
,
An
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
,
An
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
o0
+
1
)
)
,
An
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
o0
+
1
)
)
,
An
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
o0
+
1
)
)
,
An
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
o0
+
1
)
)
,
An
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
o0
+
1
)
)
,
An
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
o0
+
1
)
)
,
An
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
o0
+
1
)
)
,
An
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
o0
+
1
)
)
,
An
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
o0
+
1
)
)
,
An
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
o0
+
1
)
)
,
An
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
o0
+
1
)
)
,
An
*>
,
and2
}
,
{
<*
(
g
.
(
o0
+
1
)
)
,
An
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
o0
+
1
)
)
,
An
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
o0
+
1
)
)
,
An
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
o0
+
1
)
)
,
An
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
o0
+
1
)
)
,
An
*>
,
and2a
}
,
{
<*
(
f
.
(
o0
+
1
)
)
,
An
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
o0
+
1
)
)
,
An
*>
,
and2
]
,
[
<*
(
f
.
(
o0
+
1
)
)
,
An
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
o0
+
1
)
)
,
An
*>
,
and2
]
,
[
<*
(
f
.
(
o0
+
1
)
)
,
An
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
,
An
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
o0
+
1
)
)
,
An
*>
,
and2
]
,
[
<*
(
f
.
(
o0
+
1
)
)
,
An
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
,
An
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
,
An
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
o0
+
1
)
)
,
(
g
.
(
o0
+
1
)
)
,
An
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
f1
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
h1
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
h1
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
.
(
h1
+
1
)
is
set
g
.
(
h1
+
1
)
is
set
g1
is
set
BitSubtracterWithBorrowStr
(
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
,
g1
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
,
g1
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
'xor'
]
,
g1
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
'xor'
]
,
g1
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
'xor'
]
,
g1
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
,
g1
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
,
g1
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
h1
+
1
)
)
,
g1
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
h1
+
1
)
)
,
g1
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
h1
+
1
)
)
,
g1
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
h1
+
1
)
)
,
g1
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
h1
+
1
)
)
,
g1
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
h1
+
1
)
)
,
g1
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
h1
+
1
)
)
,
g1
*>
,
and2
}
,
{
<*
(
g
.
(
h1
+
1
)
)
,
g1
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
}
,
{
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
,
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
,
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
,
g1
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
,
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
,
g1
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
,
g1
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
f1
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h1
+
1
)
)
,
(
g
.
(
h1
+
1
)
)
,
g1
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
n
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
xx
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
xx
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
.
(
xx
+
1
)
is
set
g
.
(
xx
+
1
)
is
set
x
is
set
BitSubtracterWithBorrowStr
(
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
,
x
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
,
x
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
'xor'
]
,
x
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
'xor'
]
,
x
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
'xor'
]
,
x
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
,
x
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
,
x
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
xx
+
1
)
)
,
x
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
xx
+
1
)
)
,
x
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
xx
+
1
)
)
,
x
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
xx
+
1
)
)
,
x
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
xx
+
1
)
)
,
x
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
xx
+
1
)
)
,
x
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
xx
+
1
)
)
,
x
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
xx
+
1
)
)
,
x
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
xx
+
1
)
)
,
x
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
xx
+
1
)
)
,
x
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
xx
+
1
)
)
,
x
*>
,
and2
}
,
{
<*
(
g
.
(
xx
+
1
)
)
,
x
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
xx
+
1
)
)
,
x
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
xx
+
1
)
)
,
x
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
xx
+
1
)
)
,
x
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
xx
+
1
)
)
,
x
*>
,
and2a
}
,
{
<*
(
f
.
(
xx
+
1
)
)
,
x
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
xx
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
xx
+
1
)
)
,
x
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
xx
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
xx
+
1
)
)
,
x
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
,
x
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
xx
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
xx
+
1
)
)
,
x
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
,
x
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
,
x
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
n
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
xx
+
1
)
)
,
(
g
.
(
xx
+
1
)
)
,
x
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
xy
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
c
19
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
c
19
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
.
(
c
19
+
1
)
is
set
g
.
(
c
19
+
1
)
is
set
c
18
is
set
BitSubtracterWithBorrowStr
(
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
,
c
18
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
,
c
18
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
'xor'
]
,
c
18
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
'xor'
]
,
c
18
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
'xor'
]
,
c
18
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
,
c
18
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
,
c
18
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
c
19
+
1
)
)
,
c
18
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
c
19
+
1
)
)
,
c
18
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
c
19
+
1
)
)
,
c
18
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
}
,
{
<*
(
g
.
(
c
19
+
1
)
)
,
c
18
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
c
19
+
1
)
)
,
c
18
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
}
,
{
<*
(
f
.
(
c
19
+
1
)
)
,
c
18
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
,
[
<*
(
f
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
,
[
<*
(
f
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
,
c
18
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
,
[
<*
(
f
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
,
c
18
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
,
c
18
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
xy
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
c
19
+
1
)
)
,
(
g
.
(
c
19
+
1
)
)
,
c
18
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
c
20
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
c
22
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
c
22
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
.
(
c
22
+
1
)
is
set
g
.
(
c
22
+
1
)
is
set
c
21
is
set
BitSubtracterWithBorrowStr
(
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
,
c
21
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
,
c
21
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
'xor'
]
,
c
21
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
'xor'
]
,
c
21
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
'xor'
]
,
c
21
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
,
c
21
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
,
c
21
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
c
22
+
1
)
)
,
c
21
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
c
22
+
1
)
)
,
c
21
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
c
22
+
1
)
)
,
c
21
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2
}
,
{
<*
(
g
.
(
c
22
+
1
)
)
,
c
21
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
c
22
+
1
)
)
,
c
21
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2a
}
,
{
<*
(
f
.
(
c
22
+
1
)
)
,
c
21
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2
]
,
[
<*
(
f
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2
]
,
[
<*
(
f
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
,
c
21
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2
]
,
[
<*
(
f
.
(
c
22
+
1
)
)
,
c
21
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
,
c
21
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
,
c
21
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
c
20
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
c
22
+
1
)
)
,
(
g
.
(
c
22
+
1
)
)
,
c
21
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
Sn
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
An
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
g1
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
g1
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
.
(
g1
+
1
)
is
set
g
.
(
g1
+
1
)
is
set
f1
is
set
BitSubtracterWithBorrowStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
]
,
f1
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
]
,
f1
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
]
,
f1
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
}
,
{
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
}
,
{
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
]
,
[
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
]
,
[
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
]
,
[
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
o0
is
strict
non-empty
finitely-generated
V107
(
Sn
)
gate`2=den
Boolean
MSAlgebra
over
Sn
BitSubtracterWithBorrowCirc
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
) is
strict
non-empty
finitely-generated
V107
(
BitSubtracterWithBorrowStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
))
gate`2=den
Boolean
MSAlgebra
over
BitSubtracterWithBorrowStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
BitSubtracterCirc
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
,
'xor'
)
2GatesCircuit
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
,
'xor'
)
1GateCircuit
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
]
,
f1
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
]
,
f1
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
]
,
f1
*>
,
'xor'
)
1GateCircuit
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
]
,
f1
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
]
,
f1
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
]
,
f1
*>
,
'xor'
)
(
1GateCircuit
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
'xor'
)
)
+*
(
1GateCircuit
(
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
]
,
f1
,
'xor'
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
]
,
f1
*>
,
'xor'
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
'xor'
]
,
f1
*>
,
'xor'
)
)
BorrowCirc
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
BorrowICirc
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
1GateCircuit
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
(
g
.
(
g1
+
1
)
)
,
f1
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
)
1GateCircuit
(
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
)
(
1GateCircuit
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
g
.
(
g1
+
1
)
)
,
f1
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
)
)
1GateCircuit
(
(
f
.
(
g1
+
1
)
)
,
f1
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
)
1GateCircuit
(
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
)
(
(
1GateCircuit
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
g
.
(
g1
+
1
)
)
,
f1
,
and2
)
)
)
+*
(
1GateCircuit
(
(
f
.
(
g1
+
1
)
)
,
f1
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
)
)
1GateCircuit
(
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
]
,
[
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
]
,
[
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
]
,
[
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
]
,
[
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
]
,
[
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
]
,
[
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
)
+*
(
1GateCircuit
(
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
]
,
[
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
]
,
[
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
g1
+
1
)
)
,
f1
*>
,
and2
]
,
[
<*
(
f
.
(
g1
+
1
)
)
,
f1
*>
,
and2a
]
*>
,
or3
)
)
(
BitSubtracterCirc
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
)
+*
(
BorrowCirc
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
)
is
strict
non-empty
finitely-generated
V107
(
(
2GatesCircStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
2GatesCircStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
)
o0
+*
(
BitSubtracterWithBorrowCirc
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
)
is
strict
non-empty
finitely-generated
V107
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
)
)
gate`2=den
Boolean
MSAlgebra
over
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
g1
+
1
)
)
,
(
g
.
(
g1
+
1
)
)
,
f1
)
)
Sn
is non
empty
V71
()
ManySortedSign
f1
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
f1
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
.
(
f1
+
1
)
is
set
g
.
(
f1
+
1
)
is
set
o0
is
set
BitSubtracterWithBorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
}
,
{
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
}
,
{
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
An
is
non-empty
MSAlgebra
over
Sn
BitSubtracterWithBorrowCirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
) is
strict
non-empty
finitely-generated
V107
(
BitSubtracterWithBorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
))
gate`2=den
Boolean
MSAlgebra
over
BitSubtracterWithBorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
BitSubtracterCirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
)
2GatesCircuit
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
)
1GateCircuit
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
)
1GateCircuit
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
)
(
1GateCircuit
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
'xor'
)
)
+*
(
1GateCircuit
(
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
,
'xor'
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
'xor'
]
,
o0
*>
,
'xor'
)
)
BorrowCirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
BorrowICirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
1GateCircuit
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
(
g
.
(
f1
+
1
)
)
,
o0
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
1GateCircuit
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
(
1GateCircuit
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
g
.
(
f1
+
1
)
)
,
o0
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
)
1GateCircuit
(
(
f
.
(
f1
+
1
)
)
,
o0
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
)
1GateCircuit
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
)
(
(
1GateCircuit
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
g
.
(
f1
+
1
)
)
,
o0
,
and2
)
)
)
+*
(
1GateCircuit
(
(
f
.
(
f1
+
1
)
)
,
o0
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
)
)
1GateCircuit
(
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
+*
(
1GateCircuit
(
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
f1
+
1
)
)
,
o0
*>
,
and2
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
o0
*>
,
and2a
]
*>
,
or3
)
)
(
BitSubtracterCirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
+*
(
BorrowCirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
is
strict
non-empty
finitely-generated
V107
(
(
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
2GatesCircStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
An
+*
(
BitSubtracterWithBorrowCirc
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
is
strict
non-empty
MSAlgebra
over
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
f1
+
1
)
)
,
(
g
.
(
f1
+
1
)
)
,
o0
)
)
is non
empty
non
void
V71
()
strict
ManySortedSign
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
f
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
g
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
n
,
f
,
g
) is non
empty
set
InnerVertices
(
n
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
K18
( the
carrier
of (
n
,
f
,
g
)) is
set
the
ResultSort
of (
n
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)))
the
carrier'
of (
n
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))) is
set
K547
( the
carrier
of (
n
,
f
,
g
), the
ResultSort
of (
n
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
A0
is
Element
of
InnerVertices
(
n
,
f
,
g
)
N
is
Element
of
InnerVertices
(
n
,
f
,
g
)
h
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
h
.
n
is
set
h
.
0
is
set
Sn
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
Sn
.
n
is
set
Sn
.
0
is
set
proj1
h
is
set
An
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
An
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
h
.
(
An
+
1
)
is
set
f
.
(
An
+
1
)
is
set
g
.
(
An
+
1
)
is
set
h
.
An
is
set
BorrowOutput
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
) is
Element
of
InnerVertices
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2
}
,
{
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2a
}
,
{
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
is non
empty
set
InnerVertices
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
))
the
carrier'
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
, the
ResultSort
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
)
)
)
[
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
h
.
An
)
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
proj1
Sn
is
set
An
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
An
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
Sn
.
(
An
+
1
)
is
set
f
.
(
An
+
1
)
is
set
g
.
(
An
+
1
)
is
set
Sn
.
An
is
set
BorrowOutput
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
) is
Element
of
InnerVertices
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2
}
,
{
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2a
}
,
{
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
is non
empty
set
InnerVertices
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
))
the
carrier'
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
, the
ResultSort
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
)
)
)
[
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
(
f
.
(
An
+
1
)
)
,
(
g
.
(
An
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2
]
,
[
<*
(
f
.
(
An
+
1
)
)
,
(
Sn
.
An
)
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
A0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
A0
.
n
is
set
A0
.
0
is
set
N
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
N
.
0
is
set
InnerVertices
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
)
the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
is non
empty
set
K18
( the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
) is
set
the
ResultSort
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
, the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
, the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
))
the
carrier'
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
, the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
, the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
)) is
set
K547
( the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
, the
ResultSort
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
)
{
[
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
]
}
is non
empty
V2
()
Relation-like
Function-like
constant
V36
() 1
-element
V51
()
set
h
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
A0
.
h
is
set
N
.
h
is
set
h
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
A0
.
(
h
+
1
)
is
set
N
.
(
h
+
1
)
is
set
Sn
is non
empty
V71
()
ManySortedSign
InnerVertices
Sn
is
Element
of
K18
( the
carrier
of
Sn
)
the
carrier
of
Sn
is non
empty
set
K18
( the
carrier
of
Sn
) is
set
the
ResultSort
of
Sn
is
Relation-like
Function-like
V27
( the
carrier'
of
Sn
, the
carrier
of
Sn
)
Element
of
K18
(
K19
( the
carrier'
of
Sn
, the
carrier
of
Sn
))
the
carrier'
of
Sn
is
set
K19
( the
carrier'
of
Sn
, the
carrier
of
Sn
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
Sn
, the
carrier
of
Sn
)) is
set
K547
( the
carrier
of
Sn
, the
ResultSort
of
Sn
) is
Element
of
K18
( the
carrier
of
Sn
)
Sn
is non
empty
V71
()
ManySortedSign
InnerVertices
Sn
is
Element
of
K18
( the
carrier
of
Sn
)
the
carrier
of
Sn
is non
empty
set
K18
( the
carrier
of
Sn
) is
set
the
ResultSort
of
Sn
is
Relation-like
Function-like
V27
( the
carrier'
of
Sn
, the
carrier
of
Sn
)
Element
of
K18
(
K19
( the
carrier'
of
Sn
, the
carrier
of
Sn
))
the
carrier'
of
Sn
is
set
K19
( the
carrier'
of
Sn
, the
carrier
of
Sn
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
Sn
, the
carrier
of
Sn
)) is
set
K547
( the
carrier
of
Sn
, the
ResultSort
of
Sn
) is
Element
of
K18
( the
carrier
of
Sn
)
f
.
(
h
+
1
)
is
set
g
.
(
h
+
1
)
is
set
BorrowOutput
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
) is
Element
of
InnerVertices
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2
}
,
{
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2a
}
,
{
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2
]
,
[
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2
]
,
[
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2
]
,
[
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
is non
empty
set
InnerVertices
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
))
the
carrier'
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
, the
ResultSort
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
[
<*
[
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2
]
,
[
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2
]
,
[
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2
]
,
[
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2
]
,
[
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2
]
,
[
<*
(
f
.
(
h
+
1
)
)
,
(
N
.
h
)
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
'xor'
]
,
(
N
.
h
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
'xor'
]
,
(
N
.
h
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
*>
,
'xor'
]
,
(
N
.
h
)
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
is non
empty
set
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
) is
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
is non
empty
non
void
V71
()
strict
ManySortedSign
InnerVertices
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
)
the
carrier
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
is non
empty
set
K18
( the
carrier
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
) is
set
the
ResultSort
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
, the
carrier
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
, the
carrier
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
))
the
carrier'
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
, the
carrier
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
, the
carrier
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
)) is
set
K547
( the
carrier
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
, the
ResultSort
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
) is
Element
of
K18
( the
carrier
of
(
Sn
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
h
+
1
)
)
,
(
g
.
(
h
+
1
)
)
,
(
N
.
h
)
)
)
)
)
N
.
n
is
set
Sn
is non
empty
V71
()
ManySortedSign
InnerVertices
Sn
is
Element
of
K18
( the
carrier
of
Sn
)
the
carrier
of
Sn
is non
empty
set
K18
( the
carrier
of
Sn
) is
set
the
ResultSort
of
Sn
is
Relation-like
Function-like
V27
( the
carrier'
of
Sn
, the
carrier
of
Sn
)
Element
of
K18
(
K19
( the
carrier'
of
Sn
, the
carrier
of
Sn
))
the
carrier'
of
Sn
is
set
K19
( the
carrier'
of
Sn
, the
carrier
of
Sn
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
Sn
, the
carrier
of
Sn
)) is
set
K547
( the
carrier
of
Sn
, the
ResultSort
of
Sn
) is
Element
of
K18
( the
carrier
of
Sn
)
h
is
Element
of
InnerVertices
(
n
,
f
,
g
)
Sn
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
Sn
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
N
.
(
Sn
+
1
)
is
set
f
.
(
Sn
+
1
)
is
set
g
.
(
Sn
+
1
)
is
set
N
.
Sn
is
set
BorrowOutput
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
) is
Element
of
InnerVertices
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2
}
,
{
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2a
}
,
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
is non
empty
set
InnerVertices
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
))
the
carrier'
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
, the
ResultSort
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
)
)
)
[
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
N
.
Sn
)
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
o0
is non
empty
V71
()
ManySortedSign
An
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
A0
.
An
is
set
f1
is
set
N
.
An
is
set
A0
.
Sn
is
set
An
is non
empty
V71
()
ManySortedSign
n
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
f
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
g
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
g
.
0
is
set
S0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
S0
.
0
is
set
A0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
A0
.
0
is
set
N
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
(
N
,
n
,
f
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
g
.
N
is
set
(
N
,
n
,
f
) is
strict
non-empty
finitely-generated
V107
((
N
,
n
,
f
))
gate`2=den
Boolean
MSAlgebra
over (
N
,
n
,
f
)
S0
.
N
is
set
(
N
,
n
,
f
) is
Element
of
InnerVertices
(
N
,
n
,
f
)
the
carrier
of (
N
,
n
,
f
) is non
empty
set
InnerVertices
(
N
,
n
,
f
) is non
empty
Element
of
K18
( the
carrier
of (
N
,
n
,
f
))
K18
( the
carrier
of (
N
,
n
,
f
)) is
set
the
ResultSort
of (
N
,
n
,
f
) is
Relation-like
Function-like
V27
( the
carrier'
of (
N
,
n
,
f
), the
carrier
of (
N
,
n
,
f
))
Element
of
K18
(
K19
( the
carrier'
of (
N
,
n
,
f
), the
carrier
of (
N
,
n
,
f
)))
the
carrier'
of (
N
,
n
,
f
) is non
empty
set
K19
( the
carrier'
of (
N
,
n
,
f
), the
carrier
of (
N
,
n
,
f
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
N
,
n
,
f
), the
carrier
of (
N
,
n
,
f
))) is
set
K547
( the
carrier
of (
N
,
n
,
f
), the
ResultSort
of (
N
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
N
,
n
,
f
))
A0
.
N
is
set
h
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
h
.
N
is
set
Sn
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
Sn
.
N
is
set
h
.
0
is
set
Sn
.
0
is
set
An
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
An
.
0
is
set
o0
is non
empty
V71
()
ManySortedSign
h1
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
h1
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
n
.
(
h1
+
1
)
is
set
f
.
(
h1
+
1
)
is
set
g1
is
set
BitSubtracterWithBorrowStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
]
,
g1
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
]
,
g1
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
]
,
g1
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
}
,
{
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
is non
empty
pair
set
{
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
}
,
{
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
}
,
{
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
,
[
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
,
[
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
,
[
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
,
'xor'
)
)
+*
(
BorrowStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
f1
is
non-empty
MSAlgebra
over
o0
BitSubtracterWithBorrowCirc
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
) is
strict
non-empty
finitely-generated
V107
(
BitSubtracterWithBorrowStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
))
gate`2=den
Boolean
MSAlgebra
over
BitSubtracterWithBorrowStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
)
BitSubtracterCirc
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
,
'xor'
)
2GatesCircuit
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
,
'xor'
)
1GateCircuit
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
]
,
g1
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
]
,
g1
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
]
,
g1
*>
,
'xor'
)
1GateCircuit
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
]
,
g1
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
]
,
g1
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
]
,
g1
*>
,
'xor'
)
(
1GateCircuit
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
'xor'
)
)
+*
(
1GateCircuit
(
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
]
,
g1
,
'xor'
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
]
,
g1
*>
,
'xor'
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
'xor'
]
,
g1
*>
,
'xor'
)
)
BorrowCirc
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
)
BorrowICirc
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
)
1GateCircuit
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
(
f
.
(
h1
+
1
)
)
,
g1
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
)
1GateCircuit
(
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
)
(
1GateCircuit
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
f
.
(
h1
+
1
)
)
,
g1
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
)
)
1GateCircuit
(
(
n
.
(
h1
+
1
)
)
,
g1
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
)
1GateCircuit
(
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
)
(
(
1GateCircuit
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
f
.
(
h1
+
1
)
)
,
g1
,
and2
)
)
)
+*
(
1GateCircuit
(
(
n
.
(
h1
+
1
)
)
,
g1
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
)
)
1GateCircuit
(
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
,
[
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
,
[
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
,
[
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
,
[
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
,
[
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
,
[
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
)
)
+*
(
1GateCircuit
(
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
,
[
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
,
[
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
h1
+
1
)
)
,
g1
*>
,
and2
]
,
[
<*
(
n
.
(
h1
+
1
)
)
,
g1
*>
,
and2a
]
*>
,
or3
)
)
(
BitSubtracterCirc
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
)
)
+*
(
BorrowCirc
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
)
)
is
strict
non-empty
finitely-generated
V107
(
(
2GatesCircStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
,
'xor'
)
)
+*
(
BorrowStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
2GatesCircStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
,
'xor'
)
)
+*
(
BorrowStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
)
)
f1
+*
(
BitSubtracterWithBorrowCirc
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
)
)
is
strict
non-empty
MSAlgebra
over
o0
+*
(
BitSubtracterWithBorrowStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
)
)
o0
+*
(
BitSubtracterWithBorrowStr
(
(
n
.
(
h1
+
1
)
)
,
(
f
.
(
h1
+
1
)
)
,
g1
)
)
is non
empty
non
void
V71
()
strict
ManySortedSign
proj1
A0
is
set
o0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
o0
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
A0
.
(
o0
+
1
)
is
set
n
.
(
o0
+
1
)
is
set
f
.
(
o0
+
1
)
is
set
A0
.
o0
is
set
BorrowOutput
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
) is
Element
of
InnerVertices
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
,
and2a
}
,
{
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2
]
is non
empty
pair
set
{
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2
}
,
{
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2a
}
,
{
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2
]
,
[
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2
]
,
[
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2
]
,
[
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
is non
empty
set
InnerVertices
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
))
the
carrier'
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
, the
ResultSort
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
)
)
)
[
<*
[
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2
]
,
[
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2
]
,
[
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2
]
,
[
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2
]
,
[
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
(
n
.
(
o0
+
1
)
)
,
(
f
.
(
o0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2
]
,
[
<*
(
n
.
(
o0
+
1
)
)
,
(
A0
.
o0
)
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
o0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
o0
.
N
is
set
o0
.
0
is
set
proj1
o0
is
set
f1
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
f1
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
o0
.
(
f1
+
1
)
is
set
n
.
(
f1
+
1
)
is
set
f
.
(
f1
+
1
)
is
set
o0
.
f1
is
set
BorrowOutput
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
) is
Element
of
InnerVertices
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
,
and2a
}
,
{
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2
]
is non
empty
pair
set
{
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2
}
,
{
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2a
}
,
{
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2
]
,
[
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2
]
,
[
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2
]
,
[
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
is non
empty
set
InnerVertices
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
))
the
carrier'
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
, the
ResultSort
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
)
)
)
[
<*
[
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2
]
,
[
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2
]
,
[
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2
]
,
[
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2
]
,
[
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
(
n
.
(
f1
+
1
)
)
,
(
f
.
(
f1
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2
]
,
[
<*
(
n
.
(
f1
+
1
)
)
,
(
o0
.
f1
)
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
n
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
f
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
(
0
,
n
,
f
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
0
,
n
,
f
) is
strict
non-empty
finitely-generated
V107
((
0
,
n
,
f
))
gate`2=den
Boolean
MSAlgebra
over (
0
,
n
,
f
)
(
0
,
n
,
f
) is
Element
of
InnerVertices
(
0
,
n
,
f
)
the
carrier
of (
0
,
n
,
f
) is non
empty
set
InnerVertices
(
0
,
n
,
f
) is non
empty
Element
of
K18
( the
carrier
of (
0
,
n
,
f
))
K18
( the
carrier
of (
0
,
n
,
f
)) is
set
the
ResultSort
of (
0
,
n
,
f
) is
Relation-like
Function-like
V27
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
))
Element
of
K18
(
K19
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
)))
the
carrier'
of (
0
,
n
,
f
) is non
empty
set
K19
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
))) is
set
K547
( the
carrier
of (
0
,
n
,
f
), the
ResultSort
of (
0
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
0
,
n
,
f
))
g
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
g
.
0
is
set
S0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
S0
.
0
is
set
A0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
A0
.
0
is
set
g
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
g
.
0
is
set
S0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
S0
.
0
is
set
A0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
A0
.
0
is
set
{
[
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
]
}
is non
empty
V2
()
Relation-like
Function-like
constant
V36
() 1
-element
V51
()
set
g
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
g
.
0
is
set
S0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
S0
.
0
is
set
A0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
A0
.
0
is
set
n
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
f
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
(1,
n
,
f
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
n
.
1 is
set
f
.
1 is
set
(1,
n
,
f
) is
strict
non-empty
finitely-generated
V107
((1,
n
,
f
))
gate`2=den
Boolean
MSAlgebra
over (1,
n
,
f
)
(1,
n
,
f
) is
Element
of
InnerVertices
(1,
n
,
f
)
the
carrier
of (1,
n
,
f
) is non
empty
set
InnerVertices
(1,
n
,
f
) is non
empty
Element
of
K18
( the
carrier
of (1,
n
,
f
))
K18
( the
carrier
of (1,
n
,
f
)) is
set
the
ResultSort
of (1,
n
,
f
) is
Relation-like
Function-like
V27
( the
carrier'
of (1,
n
,
f
), the
carrier
of (1,
n
,
f
))
Element
of
K18
(
K19
( the
carrier'
of (1,
n
,
f
), the
carrier
of (1,
n
,
f
)))
the
carrier'
of (1,
n
,
f
) is non
empty
set
K19
( the
carrier'
of (1,
n
,
f
), the
carrier
of (1,
n
,
f
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (1,
n
,
f
), the
carrier
of (1,
n
,
f
))) is
set
K547
( the
carrier
of (1,
n
,
f
), the
ResultSort
of (1,
n
,
f
)) is
Element
of
K18
( the
carrier
of (1,
n
,
f
))
g
is
set
BitSubtracterWithBorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
1
)
,
(
f
.
1
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
1
)
,
(
f
.
1
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
}
,
{
<*
(
n
.
1
)
,
(
f
.
1
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
]
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
]
,
g
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
]
,
g
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
1
)
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
1
)
,
g
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
1
)
,
g
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
1
)
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
n
.
1
)
,
g
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
1
)
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
n
.
1
)
,
g
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
}
,
{
<*
(
n
.
1
)
,
(
f
.
1
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
is non
empty
pair
set
{
<*
(
f
.
1
)
,
g
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
1
)
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
1
)
,
g
*>
,
and2
}
,
{
<*
(
f
.
1
)
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
1
)
,
g
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
1
)
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
1
)
,
g
*>
,
and2a
}
,
{
<*
(
n
.
1
)
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
+*
(
BitSubtracterWithBorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BitSubtracterWithBorrowCirc
(
(
n
.
1
)
,
(
f
.
1
)
,
g
) is
strict
non-empty
finitely-generated
V107
(
BitSubtracterWithBorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BitSubtracterWithBorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
BitSubtracterCirc
(
(
n
.
1
)
,
(
f
.
1
)
,
g
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
,
'xor'
)
2GatesCircuit
(
(
n
.
1
)
,
(
f
.
1
)
,
g
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
,
'xor'
)
1GateCircuit
(
(
n
.
1
)
,
(
f
.
1
)
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
)
1GateCircuit
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
)
1GateCircuit
(
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
]
,
g
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
]
,
g
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
]
,
g
*>
,
'xor'
)
1GateCircuit
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
]
,
g
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
]
,
g
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
]
,
g
*>
,
'xor'
)
(
1GateCircuit
(
(
n
.
1
)
,
(
f
.
1
)
,
'xor'
)
)
+*
(
1GateCircuit
(
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
]
,
g
,
'xor'
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
]
,
g
*>
,
'xor'
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
'xor'
]
,
g
*>
,
'xor'
)
)
BorrowCirc
(
(
n
.
1
)
,
(
f
.
1
)
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
BorrowICirc
(
(
n
.
1
)
,
(
f
.
1
)
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
1GateCircuit
(
(
n
.
1
)
,
(
f
.
1
)
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
)
1GateCircuit
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
)
1GateCircuit
(
(
f
.
1
)
,
g
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
1
)
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
1
)
,
g
*>
,
and2
)
1GateCircuit
(
<*
(
f
.
1
)
,
g
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
1
)
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
1
)
,
g
*>
,
and2
)
(
1GateCircuit
(
(
n
.
1
)
,
(
f
.
1
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
f
.
1
)
,
g
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
1
)
,
g
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
1
)
,
g
*>
,
and2
)
)
1GateCircuit
(
(
n
.
1
)
,
g
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
n
.
1
)
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
n
.
1
)
,
g
*>
,
and2a
)
1GateCircuit
(
<*
(
n
.
1
)
,
g
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
n
.
1
)
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
n
.
1
)
,
g
*>
,
and2a
)
(
(
1GateCircuit
(
(
n
.
1
)
,
(
f
.
1
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
f
.
1
)
,
g
,
and2
)
)
)
+*
(
1GateCircuit
(
(
n
.
1
)
,
g
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
1
)
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
n
.
1
)
,
g
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
1
)
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
n
.
1
)
,
g
*>
,
and2a
)
)
1GateCircuit
(
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
+*
(
1GateCircuit
(
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
*>
,
or3
)
)
(
BitSubtracterCirc
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
+*
(
BorrowCirc
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
is
strict
non-empty
finitely-generated
V107
(
(
2GatesCircStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
2GatesCircStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
(
1GateCircuit
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
+*
(
BitSubtracterWithBorrowCirc
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
+*
(
BitSubtracterWithBorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
+*
(
BitSubtracterWithBorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
BorrowOutput
(
(
n
.
1
)
,
(
f
.
1
)
,
g
) is
Element
of
InnerVertices
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
the
carrier
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
is non
empty
set
InnerVertices
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
))
the
carrier'
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
n
.
1
)
,
(
f
.
1
)
,
g
)
)
)
[
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
(
n
.
1
)
,
(
f
.
1
)
*>
,
and2a
]
,
[
<*
(
f
.
1
)
,
g
*>
,
and2
]
,
[
<*
(
n
.
1
)
,
g
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
S0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
S0
.
1 is
set
A0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
A0
.
1 is
set
S0
.
0
is
set
A0
.
0
is
set
N
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
N
.
0
is
set
0
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
N
.
(
0
+
1
)
is
set
n
is
set
<*
n
*>
is non
empty
V2
()
Relation-like
NAT
-defined
Function-like
constant
V36
() 1
-element
FinSequence-like
FinSubsequence-like
V51
()
set
f
is
set
<*
f
*>
is non
empty
V2
()
Relation-like
NAT
-defined
Function-like
constant
V36
() 1
-element
FinSequence-like
FinSubsequence-like
V51
()
set
(1,
<*
n
*>
,
<*
f
*>
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(1,
<*
n
*>
,
<*
f
*>
) is
strict
non-empty
finitely-generated
V107
((1,
<*
n
*>
,
<*
f
*>
))
gate`2=den
Boolean
MSAlgebra
over (1,
<*
n
*>
,
<*
f
*>
)
(1,
<*
n
*>
,
<*
f
*>
) is
Element
of
InnerVertices
(1,
<*
n
*>
,
<*
f
*>
)
the
carrier
of (1,
<*
n
*>
,
<*
f
*>
) is non
empty
set
InnerVertices
(1,
<*
n
*>
,
<*
f
*>
) is non
empty
Element
of
K18
( the
carrier
of (1,
<*
n
*>
,
<*
f
*>
))
K18
( the
carrier
of (1,
<*
n
*>
,
<*
f
*>
)) is
set
the
ResultSort
of (1,
<*
n
*>
,
<*
f
*>
) is
Relation-like
Function-like
V27
( the
carrier'
of (1,
<*
n
*>
,
<*
f
*>
), the
carrier
of (1,
<*
n
*>
,
<*
f
*>
))
Element
of
K18
(
K19
( the
carrier'
of (1,
<*
n
*>
,
<*
f
*>
), the
carrier
of (1,
<*
n
*>
,
<*
f
*>
)))
the
carrier'
of (1,
<*
n
*>
,
<*
f
*>
) is non
empty
set
K19
( the
carrier'
of (1,
<*
n
*>
,
<*
f
*>
), the
carrier
of (1,
<*
n
*>
,
<*
f
*>
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (1,
<*
n
*>
,
<*
f
*>
), the
carrier
of (1,
<*
n
*>
,
<*
f
*>
))) is
set
K547
( the
carrier
of (1,
<*
n
*>
,
<*
f
*>
), the
ResultSort
of (1,
<*
n
*>
,
<*
f
*>
)) is
Element
of
K18
( the
carrier
of (1,
<*
n
*>
,
<*
f
*>
))
<*
n
*>
.
1 is
set
<*
f
*>
.
1 is
set
g
is
set
BitSubtracterWithBorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
n
,
f
,
g
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
n
,
f
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
n
,
f
*>
,
'xor'
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
f
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
f
*>
,
'xor'
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
f
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
f
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
f
,
g
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
n
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
n
,
g
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
n
,
f
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
n
,
f
*>
,
and2a
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
f
,
g
*>
,
and2
]
is non
empty
pair
set
{
<*
f
,
g
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
f
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
f
,
g
*>
,
and2
}
,
{
<*
f
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
n
,
g
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
g
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
g
*>
,
and2a
}
,
{
<*
n
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
+*
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BitSubtracterWithBorrowCirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
BitSubtracterCirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
2GatesCircuit
(
n
,
f
,
g
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
1GateCircuit
(
n
,
f
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
1GateCircuit
(
<*
n
,
f
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
1GateCircuit
(
[
<*
n
,
f
*>
,
'xor'
]
,
g
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
1GateCircuit
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
(
1GateCircuit
(
n
,
f
,
'xor'
)
)
+*
(
1GateCircuit
(
[
<*
n
,
f
*>
,
'xor'
]
,
g
,
'xor'
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
)
BorrowCirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
n
,
f
,
g
)
BorrowICirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
n
,
f
,
g
)
1GateCircuit
(
n
,
f
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
1GateCircuit
(
<*
n
,
f
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
1GateCircuit
(
f
,
g
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
1GateCircuit
(
<*
f
,
g
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
(
1GateCircuit
(
n
,
f
,
and2a
)
)
+*
(
1GateCircuit
(
f
,
g
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
1GateCircuit
(
n
,
g
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
1GateCircuit
(
<*
n
,
g
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
(
(
1GateCircuit
(
n
,
f
,
and2a
)
)
+*
(
1GateCircuit
(
f
,
g
,
and2
)
)
)
+*
(
1GateCircuit
(
n
,
g
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
1GateCircuit
(
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
n
,
f
,
g
)
)
+*
(
1GateCircuit
(
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
+*
(
BorrowCirc
(
n
,
f
,
g
)
)
is
strict
non-empty
finitely-generated
V107
(
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
(
1GateCircuit
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
+*
(
BitSubtracterWithBorrowCirc
(
n
,
f
,
g
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
+*
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
+*
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
BorrowOutput
(
n
,
f
,
g
) is
Element
of
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
[
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
g
is
Relation-like
NAT
-defined
Function-like
V36
()
n
-element
FinSequence-like
FinSubsequence-like
V51
()
set
S0
is
Relation-like
NAT
-defined
Function-like
V36
()
n
-element
FinSequence-like
FinSubsequence-like
V51
()
set
A0
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
g
^
A0
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
h
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
S0
^
h
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
(
n
,
(
g
^
A0
)
,
(
S0
^
h
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
N
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
g
^
N
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
Sn
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
S0
^
Sn
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
(
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
n
,
(
g
^
A0
)
,
(
S0
^
h
)
) is
strict
non-empty
finitely-generated
V107
((
n
,
(
g
^
A0
)
,
(
S0
^
h
)
))
gate`2=den
Boolean
MSAlgebra
over (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
)
(
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
) is
strict
non-empty
finitely-generated
V107
((
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
))
gate`2=den
Boolean
MSAlgebra
over (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
)
(
n
,
(
g
^
A0
)
,
(
S0
^
h
)
) is
Element
of
InnerVertices
(
n
,
(
g
^
A0
)
,
(
S0
^
h
)
)
the
carrier
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
) is non
empty
set
InnerVertices
(
n
,
(
g
^
A0
)
,
(
S0
^
h
)
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
))
K18
( the
carrier
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
)) is
set
the
ResultSort
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
), the
carrier
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
), the
carrier
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
)))
the
carrier'
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
) is non
empty
set
K19
( the
carrier'
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
), the
carrier
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
), the
carrier
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
))) is
set
K547
( the
carrier
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
), the
ResultSort
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
)) is
Element
of
K18
( the
carrier
of (
n
,
(
g
^
A0
)
,
(
S0
^
h
)
))
(
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
) is
Element
of
InnerVertices
(
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
)
the
carrier
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
) is non
empty
set
InnerVertices
(
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
))
K18
( the
carrier
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
)) is
set
the
ResultSort
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
), the
carrier
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
), the
carrier
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
)))
the
carrier'
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
) is non
empty
set
K19
( the
carrier'
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
), the
carrier
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
), the
carrier
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
))) is
set
K547
( the
carrier
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
), the
ResultSort
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
)) is
Element
of
K18
( the
carrier
of (
n
,
(
g
^
N
)
,
(
S0
^
Sn
)
))
An
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
An
.
n
is
set
o0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
o0
.
n
is
set
An
.
0
is
set
o0
.
0
is
set
f1
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
f1
.
0
is
set
g1
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
g1
.
n
is
set
h1
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
h1
.
n
is
set
g1
.
0
is
set
h1
.
0
is
set
n
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
n
.
0
is
set
x
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
f1
.
x
is
set
n
.
x
is
set
An
.
x
is
set
g1
.
x
is
set
o0
.
x
is
set
h1
.
x
is
set
x
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f1
.
(
x
+
1
)
is
set
n
.
(
x
+
1
)
is
set
An
.
(
x
+
1
)
is
set
g1
.
(
x
+
1
)
is
set
o0
.
(
x
+
1
)
is
set
h1
.
(
x
+
1
)
is
set
len
g
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
len
S0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
dom
g
is
V36
()
n
-element
V51
()
Element
of
K18
(
NAT
)
Seg
n
is
V36
()
n
-element
V51
()
Element
of
K18
(
NAT
)
dom
S0
is
V36
()
n
-element
V51
()
Element
of
K18
(
NAT
)
0
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
(
g
^
A0
)
.
(
x
+
1
)
is
set
g
.
(
x
+
1
)
is
set
(
g
^
N
)
.
(
x
+
1
)
is
set
(
S0
^
h
)
.
(
x
+
1
)
is
set
S0
.
(
x
+
1
)
is
set
(
S0
^
Sn
)
.
(
x
+
1
)
is
set
xy
is non
empty
V71
()
ManySortedSign
xx
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
An
.
xx
is
set
c
18
is
non-empty
MSAlgebra
over
xy
o0
.
xx
is
set
c
19
is
set
f1
.
xx
is
set
xx
is non
empty
V71
()
ManySortedSign
c
19
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
c
19
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
(
g
^
A0
)
.
(
c
19
+
1
)
is
set
(
S0
^
h
)
.
(
c
19
+
1
)
is
set
c
18
is
set
BitSubtracterWithBorrowStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
]
,
c
18
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
]
,
c
18
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
]
,
c
18
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
}
,
{
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
is non
empty
pair
set
{
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
}
,
{
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
}
,
{
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
,
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
,
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
,
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
,
'xor'
)
)
+*
(
BorrowStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
xy
is
non-empty
MSAlgebra
over
xx
BitSubtracterWithBorrowCirc
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
) is
strict
non-empty
finitely-generated
V107
(
BitSubtracterWithBorrowStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
))
gate`2=den
Boolean
MSAlgebra
over
BitSubtracterWithBorrowStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
)
BitSubtracterCirc
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
,
'xor'
)
2GatesCircuit
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
,
'xor'
)
1GateCircuit
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
]
,
c
18
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
]
,
c
18
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
]
,
c
18
*>
,
'xor'
)
1GateCircuit
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
]
,
c
18
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
]
,
c
18
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
]
,
c
18
*>
,
'xor'
)
(
1GateCircuit
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
'xor'
)
)
+*
(
1GateCircuit
(
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
]
,
c
18
,
'xor'
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
]
,
c
18
*>
,
'xor'
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
'xor'
]
,
c
18
*>
,
'xor'
)
)
BorrowCirc
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
)
BorrowICirc
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
)
1GateCircuit
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
)
1GateCircuit
(
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
)
(
1GateCircuit
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
)
)
1GateCircuit
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
)
1GateCircuit
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
)
(
(
1GateCircuit
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
,
and2
)
)
)
+*
(
1GateCircuit
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
)
)
1GateCircuit
(
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
,
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
,
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
,
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
,
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
,
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
,
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
)
)
+*
(
1GateCircuit
(
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
,
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
,
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2
]
,
[
<*
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
c
18
*>
,
and2a
]
*>
,
or3
)
)
(
BitSubtracterCirc
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
)
)
+*
(
BorrowCirc
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
)
)
is
strict
non-empty
finitely-generated
V107
(
(
2GatesCircStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
,
'xor'
)
)
+*
(
BorrowStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
2GatesCircStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
,
'xor'
)
)
+*
(
BorrowStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
)
)
xy
+*
(
BitSubtracterWithBorrowCirc
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
)
)
is
strict
non-empty
MSAlgebra
over
xx
+*
(
BitSubtracterWithBorrowStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
)
)
xx
+*
(
BitSubtracterWithBorrowStr
(
(
(
g
^
A0
)
.
(
c
19
+
1
)
)
,
(
(
S0
^
h
)
.
(
c
19
+
1
)
)
,
c
18
)
)
is non
empty
non
void
V71
()
strict
ManySortedSign
xx
is non
empty
V71
()
ManySortedSign
xy
is
non-empty
MSAlgebra
over
xx
BorrowOutput
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
) is
Element
of
InnerVertices
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
}
,
{
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
is non
empty
pair
set
{
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
}
,
{
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
}
,
{
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
is non
empty
set
InnerVertices
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
, the
carrier
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
, the
carrier
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
))
the
carrier'
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
, the
carrier
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
, the
carrier
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
, the
ResultSort
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
)
[
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
BitSubtracterWithBorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
]
,
(
n
.
x
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
]
,
(
n
.
x
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
]
,
(
n
.
x
)
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
,
'xor'
)
)
+*
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
xx
+*
(
BitSubtracterWithBorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
is non
empty
non
void
V71
()
strict
ManySortedSign
BitSubtracterWithBorrowCirc
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
) is
strict
non-empty
finitely-generated
V107
(
BitSubtracterWithBorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
))
gate`2=den
Boolean
MSAlgebra
over
BitSubtracterWithBorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
BitSubtracterCirc
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
,
'xor'
)
2GatesCircuit
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
,
'xor'
)
1GateCircuit
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
]
,
(
n
.
x
)
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
]
,
(
n
.
x
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
]
,
(
n
.
x
)
*>
,
'xor'
)
1GateCircuit
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
]
,
(
n
.
x
)
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
]
,
(
n
.
x
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
]
,
(
n
.
x
)
*>
,
'xor'
)
(
1GateCircuit
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
'xor'
)
)
+*
(
1GateCircuit
(
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
]
,
(
n
.
x
)
,
'xor'
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
]
,
(
n
.
x
)
*>
,
'xor'
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
'xor'
]
,
(
n
.
x
)
*>
,
'xor'
)
)
BorrowCirc
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
BorrowICirc
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
1GateCircuit
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
)
1GateCircuit
(
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
)
(
1GateCircuit
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
)
)
1GateCircuit
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
)
1GateCircuit
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
)
(
(
1GateCircuit
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
,
and2
)
)
)
+*
(
1GateCircuit
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
)
)
1GateCircuit
(
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
+*
(
1GateCircuit
(
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
*>
,
and2a
]
,
[
<*
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2
]
,
[
<*
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
n
.
x
)
*>
,
and2a
]
*>
,
or3
)
)
(
BitSubtracterCirc
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
+*
(
BorrowCirc
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
is
strict
non-empty
finitely-generated
V107
(
(
2GatesCircStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
,
'xor'
)
)
+*
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
2GatesCircStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
,
'xor'
)
)
+*
(
BorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
xy
+*
(
BitSubtracterWithBorrowCirc
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
is
strict
non-empty
MSAlgebra
over
xx
+*
(
BitSubtracterWithBorrowStr
(
(
(
g
^
N
)
.
(
x
+
1
)
)
,
(
(
S0
^
Sn
)
.
(
x
+
1
)
)
,
(
n
.
x
)
)
)
f1
.
n
is
set
n
.
n
is
set
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
n
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
g
is
Relation-like
NAT
-defined
Function-like
V36
()
n
-element
FinSequence-like
FinSubsequence-like
V51
()
set
S0
is
Relation-like
NAT
-defined
Function-like
V36
()
n
-element
FinSequence-like
FinSubsequence-like
V51
()
set
(
n
,
g
,
S0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
n
,
g
,
S0
) is
Element
of
InnerVertices
(
n
,
g
,
S0
)
the
carrier
of (
n
,
g
,
S0
) is non
empty
set
InnerVertices
(
n
,
g
,
S0
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
g
,
S0
))
K18
( the
carrier
of (
n
,
g
,
S0
)) is
set
the
ResultSort
of (
n
,
g
,
S0
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
)))
the
carrier'
of (
n
,
g
,
S0
) is non
empty
set
K19
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
))) is
set
K547
( the
carrier
of (
n
,
g
,
S0
), the
ResultSort
of (
n
,
g
,
S0
)) is
Element
of
K18
( the
carrier
of (
n
,
g
,
S0
))
(
n
,
g
,
S0
) is
strict
non-empty
finitely-generated
V107
((
n
,
g
,
S0
))
gate`2=den
Boolean
MSAlgebra
over (
n
,
g
,
S0
)
A0
is
set
<*
A0
*>
is non
empty
V2
()
Relation-like
NAT
-defined
Function-like
constant
V36
() 1
-element
FinSequence-like
FinSubsequence-like
V51
()
set
g
^
<*
A0
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
()
n
+
1
-element
FinSequence-like
FinSubsequence-like
V51
()
set
n
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
N
is
set
<*
N
*>
is non
empty
V2
()
Relation-like
NAT
-defined
Function-like
constant
V36
() 1
-element
FinSequence-like
FinSubsequence-like
V51
()
set
S0
^
<*
N
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
()
n
+
1
-element
FinSequence-like
FinSubsequence-like
V51
()
set
(
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BitSubtracterWithBorrowStr
(
A0
,
N
,(
n
,
g
,
S0
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
A0
,
N
,(
n
,
g
,
S0
),
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
A0
,
N
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
A0
,
N
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
A0
,
N
*>
,
'xor'
]
is non
empty
pair
set
{
<*
A0
,
N
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
A0
,
N
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
A0
,
N
*>
,
'xor'
}
,
{
<*
A0
,
N
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
A0
,
N
*>
,
'xor'
]
,(
n
,
g
,
S0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
'xor'
]
,(
n
,
g
,
S0
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
A0
,
N
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
'xor'
]
,(
n
,
g
,
S0
)
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
A0
,
N
,(
n
,
g
,
S0
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
A0
,
N
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
N
,(
n
,
g
,
S0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
A0
,
N
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
A0
,(
n
,
g
,
S0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
A0
,
N
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
A0
,
N
*>
,
and2a
]
is non
empty
pair
set
{
<*
A0
,
N
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
A0
,
N
*>
,
and2a
}
,
{
<*
A0
,
N
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
is non
empty
pair
set
{
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
N
,(
n
,
g
,
S0
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
}
,
{
<*
N
,(
n
,
g
,
S0
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
A0
,(
n
,
g
,
S0
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
}
,
{
<*
A0
,(
n
,
g
,
S0
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
+*
(
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
A0
,
N
,(
n
,
g
,
S0
),
'xor'
)
)
+*
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
n
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
) is
strict
non-empty
finitely-generated
V107
((
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
))
gate`2=den
Boolean
MSAlgebra
over (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
)
BitSubtracterWithBorrowCirc
(
A0
,
N
,(
n
,
g
,
S0
)) is
strict
non-empty
finitely-generated
V107
(
BitSubtracterWithBorrowStr
(
A0
,
N
,(
n
,
g
,
S0
)))
gate`2=den
Boolean
MSAlgebra
over
BitSubtracterWithBorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
BitSubtracterCirc
(
A0
,
N
,(
n
,
g
,
S0
)) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
A0
,
N
,(
n
,
g
,
S0
),
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
A0
,
N
,(
n
,
g
,
S0
),
'xor'
)
2GatesCircuit
(
A0
,
N
,(
n
,
g
,
S0
),
'xor'
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
A0
,
N
,(
n
,
g
,
S0
),
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
A0
,
N
,(
n
,
g
,
S0
),
'xor'
)
1GateCircuit
(
A0
,
N
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
A0
,
N
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
A0
,
N
*>
,
'xor'
)
1GateCircuit
(
<*
A0
,
N
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
A0
,
N
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
A0
,
N
*>
,
'xor'
)
1GateCircuit
(
[
<*
A0
,
N
*>
,
'xor'
]
,(
n
,
g
,
S0
),
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
'xor'
]
,(
n
,
g
,
S0
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
'xor'
]
,(
n
,
g
,
S0
)
*>
,
'xor'
)
1GateCircuit
(
<*
[
<*
A0
,
N
*>
,
'xor'
]
,(
n
,
g
,
S0
)
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
'xor'
]
,(
n
,
g
,
S0
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
'xor'
]
,(
n
,
g
,
S0
)
*>
,
'xor'
)
(
1GateCircuit
(
A0
,
N
,
'xor'
)
)
+*
(
1GateCircuit
(
[
<*
A0
,
N
*>
,
'xor'
]
,(
n
,
g
,
S0
),
'xor'
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
A0
,
N
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
'xor'
]
,(
n
,
g
,
S0
)
*>
,
'xor'
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
A0
,
N
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
'xor'
]
,(
n
,
g
,
S0
)
*>
,
'xor'
)
)
BorrowCirc
(
A0
,
N
,(
n
,
g
,
S0
)) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
)))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
BorrowICirc
(
A0
,
N
,(
n
,
g
,
S0
)) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
A0
,
N
,(
n
,
g
,
S0
)))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
A0
,
N
,(
n
,
g
,
S0
))
1GateCircuit
(
A0
,
N
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
A0
,
N
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
A0
,
N
*>
,
and2a
)
1GateCircuit
(
<*
A0
,
N
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
A0
,
N
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
A0
,
N
*>
,
and2a
)
1GateCircuit
(
N
,(
n
,
g
,
S0
),
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
)
1GateCircuit
(
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
)
(
1GateCircuit
(
A0
,
N
,
and2a
)
)
+*
(
1GateCircuit
(
N
,(
n
,
g
,
S0
),
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
A0
,
N
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
A0
,
N
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
)
)
1GateCircuit
(
A0
,(
n
,
g
,
S0
),
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
)
1GateCircuit
(
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
)
(
(
1GateCircuit
(
A0
,
N
,
and2a
)
)
+*
(
1GateCircuit
(
N
,(
n
,
g
,
S0
),
and2
)
)
)
+*
(
1GateCircuit
(
A0
,(
n
,
g
,
S0
),
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
A0
,
N
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
A0
,
N
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
)
)
1GateCircuit
(
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
A0
,
N
,(
n
,
g
,
S0
))
)
+*
(
1GateCircuit
(
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
+*
(
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
+*
(
1GateCircStr
(
<*
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
)
)
(
BitSubtracterCirc
(
A0
,
N
,(
n
,
g
,
S0
))
)
+*
(
BorrowCirc
(
A0
,
N
,(
n
,
g
,
S0
))
)
is
strict
non-empty
finitely-generated
V107
(
(
2GatesCircStr
(
A0
,
N
,(
n
,
g
,
S0
),
'xor'
)
)
+*
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
)
gate`2=den
Boolean
MSAlgebra
over
(
2GatesCircStr
(
A0
,
N
,(
n
,
g
,
S0
),
'xor'
)
)
+*
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
(
n
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowCirc
(
A0
,
N
,(
n
,
g
,
S0
))
)
is
strict
non-empty
finitely-generated
V107
((
n
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
)
gate`2=den
Boolean
MSAlgebra
over (
n
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
(
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
) is
Element
of
InnerVertices
(
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
)
the
carrier
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
) is non
empty
set
InnerVertices
(
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
) is non
empty
Element
of
K18
( the
carrier
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
))
K18
( the
carrier
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
)) is
set
the
ResultSort
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
) is
Relation-like
Function-like
V27
( the
carrier'
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
), the
carrier
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
))
Element
of
K18
(
K19
( the
carrier'
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
), the
carrier
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
)))
the
carrier'
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
) is non
empty
set
K19
( the
carrier'
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
), the
carrier
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
), the
carrier
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
))) is
set
K547
( the
carrier
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
), the
ResultSort
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
)) is
Element
of
K18
( the
carrier
of (
(
n
+
1
)
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
))
BorrowOutput
(
A0
,
N
,(
n
,
g
,
S0
)) is
Element
of
InnerVertices
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
the
carrier
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
is non
empty
set
InnerVertices
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
)
K18
( the
carrier
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
) is
set
the
ResultSort
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
, the
carrier
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
, the
carrier
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
))
the
carrier'
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
, the
carrier
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
, the
carrier
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
, the
ResultSort
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
A0
,
N
,(
n
,
g
,
S0
))
)
)
[
<*
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
A0
,
N
*>
,
and2a
]
,
[
<*
N
,(
n
,
g
,
S0
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
g
,
S0
)
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
(
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
) is
strict
non-empty
finitely-generated
V107
((
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
))
gate`2=den
Boolean
MSAlgebra
over (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
)
An
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
An
.
n
is
set
o0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
o0
.
n
is
set
An
.
0
is
set
o0
.
0
is
set
f1
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
f1
.
0
is
set
(
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
) is
Element
of
InnerVertices
(
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
)
the
carrier
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
) is non
empty
set
InnerVertices
(
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
))
K18
( the
carrier
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
)) is
set
the
ResultSort
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
), the
carrier
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
), the
carrier
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
)))
the
carrier'
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
) is non
empty
set
K19
( the
carrier'
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
), the
carrier
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
), the
carrier
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
))) is
set
K547
( the
carrier
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
), the
ResultSort
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
)) is
Element
of
K18
( the
carrier
of (
n
,
(
g
^
<*
A0
*>
)
,
(
S0
^
<*
N
*>
)
))
f1
.
n
is
set
An
.
(
n
+
1
)
is
set
o0
.
(
n
+
1
)
is
set
f1
.
(
n
+
1
)
is
set
len
g
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
len
S0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
(
g
^
<*
A0
*>
)
.
(
n
+
1
)
is
set
(
S0
^
<*
N
*>
)
.
(
n
+
1
)
is
set
g
^
{}
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
S0
^
{}
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
n
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
g
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
(
(
n
+
1
)
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
f
.
(
n
+
1
)
is
set
g
.
(
n
+
1
)
is
set
(
n
,
f
,
g
) is
Element
of
InnerVertices
(
n
,
f
,
g
)
the
carrier
of (
n
,
f
,
g
) is non
empty
set
InnerVertices
(
n
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
K18
( the
carrier
of (
n
,
f
,
g
)) is
set
the
ResultSort
of (
n
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)))
the
carrier'
of (
n
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))) is
set
K547
( the
carrier
of (
n
,
f
,
g
), the
ResultSort
of (
n
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
}
,
{
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
}
,
{
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
n
+
1
)
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
((
(
n
+
1
)
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over (
(
n
+
1
)
,
f
,
g
)
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
((
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over (
n
,
f
,
g
)
BitSubtracterWithBorrowCirc
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)) is
strict
non-empty
finitely-generated
V107
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)))
gate`2=den
Boolean
MSAlgebra
over
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
BitSubtracterCirc
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
'xor'
)
2GatesCircuit
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
'xor'
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
'xor'
)
1GateCircuit
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,(
n
,
f
,
g
),
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
,
'xor'
)
1GateCircuit
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
,
'xor'
)
(
1GateCircuit
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
'xor'
)
)
+*
(
1GateCircuit
(
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,(
n
,
f
,
g
),
'xor'
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
,
'xor'
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
,
'xor'
)
)
BorrowCirc
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
BorrowICirc
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
1GateCircuit
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
)
1GateCircuit
(
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
)
(
1GateCircuit
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
)
)
1GateCircuit
(
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
)
1GateCircuit
(
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
)
(
(
1GateCircuit
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
and2
)
)
)
+*
(
1GateCircuit
(
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
)
)
1GateCircuit
(
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
+*
(
1GateCircuit
(
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
)
)
(
BitSubtracterCirc
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
+*
(
BorrowCirc
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
is
strict
non-empty
finitely-generated
V107
(
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
gate`2=den
Boolean
MSAlgebra
over
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowCirc
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
is
strict
non-empty
finitely-generated
V107
((
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
gate`2=den
Boolean
MSAlgebra
over (
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
(
(
n
+
1
)
,
f
,
g
) is
Element
of
InnerVertices
(
(
n
+
1
)
,
f
,
g
)
the
carrier
of (
(
n
+
1
)
,
f
,
g
) is non
empty
set
InnerVertices
(
(
n
+
1
)
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
(
n
+
1
)
,
f
,
g
))
K18
( the
carrier
of (
(
n
+
1
)
,
f
,
g
)) is
set
the
ResultSort
of (
(
n
+
1
)
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
)))
the
carrier'
of (
(
n
+
1
)
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
))) is
set
K547
( the
carrier
of (
(
n
+
1
)
,
f
,
g
), the
ResultSort
of (
(
n
+
1
)
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
(
n
+
1
)
,
f
,
g
))
BorrowOutput
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)) is
Element
of
InnerVertices
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
is non
empty
set
InnerVertices
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
) is
set
the
ResultSort
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
))
the
carrier'
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
, the
ResultSort
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
[
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
A0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
A0
.
n
is
set
N
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
N
.
n
is
set
A0
.
0
is
set
N
.
0
is
set
h
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
h
.
0
is
set
h
.
n
is
set
A0
.
(
n
+
1
)
is
set
N
.
(
n
+
1
)
is
set
h
.
(
n
+
1
)
is
set
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
f
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
g
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
S0
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
(
n
,
g
,
S0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
n
,
g
,
S0
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
g
,
S0
))
the
carrier
of (
n
,
g
,
S0
) is non
empty
set
K18
( the
carrier
of (
n
,
g
,
S0
)) is
set
the
ResultSort
of (
n
,
g
,
S0
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
)))
the
carrier'
of (
n
,
g
,
S0
) is non
empty
set
K19
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
))) is
set
K547
( the
carrier
of (
n
,
g
,
S0
), the
ResultSort
of (
n
,
g
,
S0
)) is
Element
of
K18
( the
carrier
of (
n
,
g
,
S0
))
(
f
,
g
,
S0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
f
,
g
,
S0
) is non
empty
Element
of
K18
( the
carrier
of (
f
,
g
,
S0
))
the
carrier
of (
f
,
g
,
S0
) is non
empty
set
K18
( the
carrier
of (
f
,
g
,
S0
)) is
set
the
ResultSort
of (
f
,
g
,
S0
) is
Relation-like
Function-like
V27
( the
carrier'
of (
f
,
g
,
S0
), the
carrier
of (
f
,
g
,
S0
))
Element
of
K18
(
K19
( the
carrier'
of (
f
,
g
,
S0
), the
carrier
of (
f
,
g
,
S0
)))
the
carrier'
of (
f
,
g
,
S0
) is non
empty
set
K19
( the
carrier'
of (
f
,
g
,
S0
), the
carrier
of (
f
,
g
,
S0
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
f
,
g
,
S0
), the
carrier
of (
f
,
g
,
S0
))) is
set
K547
( the
carrier
of (
f
,
g
,
S0
), the
ResultSort
of (
f
,
g
,
S0
)) is
Element
of
K18
( the
carrier
of (
f
,
g
,
S0
))
A0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
n
+
A0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
n
+
0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
(
(
n
+
0
)
,
g
,
S0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
(
n
+
0
)
,
g
,
S0
) is non
empty
Element
of
K18
( the
carrier
of (
(
n
+
0
)
,
g
,
S0
))
the
carrier
of (
(
n
+
0
)
,
g
,
S0
) is non
empty
set
K18
( the
carrier
of (
(
n
+
0
)
,
g
,
S0
)) is
set
the
ResultSort
of (
(
n
+
0
)
,
g
,
S0
) is
Relation-like
Function-like
V27
( the
carrier'
of (
(
n
+
0
)
,
g
,
S0
), the
carrier
of (
(
n
+
0
)
,
g
,
S0
))
Element
of
K18
(
K19
( the
carrier'
of (
(
n
+
0
)
,
g
,
S0
), the
carrier
of (
(
n
+
0
)
,
g
,
S0
)))
the
carrier'
of (
(
n
+
0
)
,
g
,
S0
) is non
empty
set
K19
( the
carrier'
of (
(
n
+
0
)
,
g
,
S0
), the
carrier
of (
(
n
+
0
)
,
g
,
S0
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
(
n
+
0
)
,
g
,
S0
), the
carrier
of (
(
n
+
0
)
,
g
,
S0
))) is
set
K547
( the
carrier
of (
(
n
+
0
)
,
g
,
S0
), the
ResultSort
of (
(
n
+
0
)
,
g
,
S0
)) is
Element
of
K18
( the
carrier
of (
(
n
+
0
)
,
g
,
S0
))
h
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
n
+
h
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
(
(
n
+
h
)
,
g
,
S0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
(
n
+
h
)
,
g
,
S0
) is non
empty
Element
of
K18
( the
carrier
of (
(
n
+
h
)
,
g
,
S0
))
the
carrier
of (
(
n
+
h
)
,
g
,
S0
) is non
empty
set
K18
( the
carrier
of (
(
n
+
h
)
,
g
,
S0
)) is
set
the
ResultSort
of (
(
n
+
h
)
,
g
,
S0
) is
Relation-like
Function-like
V27
( the
carrier'
of (
(
n
+
h
)
,
g
,
S0
), the
carrier
of (
(
n
+
h
)
,
g
,
S0
))
Element
of
K18
(
K19
( the
carrier'
of (
(
n
+
h
)
,
g
,
S0
), the
carrier
of (
(
n
+
h
)
,
g
,
S0
)))
the
carrier'
of (
(
n
+
h
)
,
g
,
S0
) is non
empty
set
K19
( the
carrier'
of (
(
n
+
h
)
,
g
,
S0
), the
carrier
of (
(
n
+
h
)
,
g
,
S0
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
(
n
+
h
)
,
g
,
S0
), the
carrier
of (
(
n
+
h
)
,
g
,
S0
))) is
set
K547
( the
carrier
of (
(
n
+
h
)
,
g
,
S0
), the
ResultSort
of (
(
n
+
h
)
,
g
,
S0
)) is
Element
of
K18
( the
carrier
of (
(
n
+
h
)
,
g
,
S0
))
h
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
n
+
(
h
+
1
)
is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
(
(
n
+
(
h
+
1
)
)
,
g
,
S0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
(
n
+
(
h
+
1
)
)
,
g
,
S0
) is non
empty
Element
of
K18
( the
carrier
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
))
the
carrier
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
) is non
empty
set
K18
( the
carrier
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
)) is
set
the
ResultSort
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
) is
Relation-like
Function-like
V27
( the
carrier'
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
), the
carrier
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
))
Element
of
K18
(
K19
( the
carrier'
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
), the
carrier
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
)))
the
carrier'
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
) is non
empty
set
K19
( the
carrier'
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
), the
carrier
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
), the
carrier
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
))) is
set
K547
( the
carrier
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
), the
ResultSort
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
)) is
Element
of
K18
( the
carrier
of (
(
n
+
(
h
+
1
)
)
,
g
,
S0
))
(
n
+
h
)
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
g
.
(
(
n
+
h
)
+
1
)
is
set
S0
.
(
(
n
+
h
)
+
1
)
is
set
(
(
n
+
h
)
,
g
,
S0
) is
Element
of
InnerVertices
(
(
n
+
h
)
,
g
,
S0
)
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
),
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
'xor'
]
,(
(
n
+
h
)
,
g
,
S0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
'xor'
]
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
'xor'
]
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
and2a
}
,
{
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2
]
is non
empty
pair
set
{
<*
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2
}
,
{
<*
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2a
}
,
{
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
and2a
]
,
[
<*
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2
]
,
[
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
and2a
]
,
[
<*
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2
]
,
[
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
+*
(
1GateCircStr
(
<*
[
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
*>
,
and2a
]
,
[
<*
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2
]
,
[
<*
(
g
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
),
'xor'
)
)
+*
(
BorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
is non
empty
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
is non
empty
set
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
) is
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
(
InnerVertices
(
n
,
g
,
S0
)
)
\/
(
InnerVertices
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
is non
empty
set
(
InnerVertices
(
(
n
+
h
)
,
g
,
S0
)
)
\/
(
InnerVertices
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
is non
empty
set
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
)
the
carrier
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
is non
empty
set
K18
( the
carrier
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
) is
set
the
ResultSort
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
, the
carrier
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
, the
carrier
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
))
the
carrier'
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
is non
empty
set
K19
( the
carrier'
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
, the
carrier
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
, the
carrier
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
)) is
set
K547
( the
carrier
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
, the
ResultSort
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
) is
Element
of
K18
( the
carrier
of
(
(
(
n
+
h
)
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
(
n
+
h
)
+
1
)
)
,
(
S0
.
(
(
n
+
h
)
+
1
)
)
,(
(
n
+
h
)
,
g
,
S0
))
)
)
)
N
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
n
+
N
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
n
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
g
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
(
(
n
+
1
)
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
(
n
+
1
)
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
(
n
+
1
)
,
f
,
g
))
the
carrier
of (
(
n
+
1
)
,
f
,
g
) is non
empty
set
K18
( the
carrier
of (
(
n
+
1
)
,
f
,
g
)) is
set
the
ResultSort
of (
(
n
+
1
)
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
)))
the
carrier'
of (
(
n
+
1
)
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
))) is
set
K547
( the
carrier
of (
(
n
+
1
)
,
f
,
g
), the
ResultSort
of (
(
n
+
1
)
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
(
n
+
1
)
,
f
,
g
))
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
n
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
the
carrier
of (
n
,
f
,
g
) is non
empty
set
K18
( the
carrier
of (
n
,
f
,
g
)) is
set
the
ResultSort
of (
n
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)))
the
carrier'
of (
n
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))) is
set
K547
( the
carrier
of (
n
,
f
,
g
), the
ResultSort
of (
n
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
f
.
(
n
+
1
)
is
set
g
.
(
n
+
1
)
is
set
(
n
,
f
,
g
) is
Element
of
InnerVertices
(
n
,
f
,
g
)
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
}
,
{
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
}
,
{
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
),
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
is non
empty
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
is non
empty
set
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
) is
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
(
InnerVertices
(
n
,
f
,
g
)
)
\/
(
InnerVertices
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
is non
empty
set
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
)
the
carrier
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
is non
empty
set
K18
( the
carrier
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
) is
set
the
ResultSort
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
, the
carrier
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
, the
carrier
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
))
the
carrier'
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
is non
empty
set
K19
( the
carrier'
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
, the
carrier
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
, the
carrier
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
)) is
set
K547
( the
carrier
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
, the
ResultSort
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
) is
Element
of
K18
( the
carrier
of
(
(
n
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,(
n
,
f
,
g
))
)
)
)
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
f
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
g
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
S0
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
(
f
,
g
,
S0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
f
,
g
,
S0
) is non
empty
set
InnerVertices
(
f
,
g
,
S0
) is non
empty
Element
of
K18
( the
carrier
of (
f
,
g
,
S0
))
K18
( the
carrier
of (
f
,
g
,
S0
)) is
set
the
ResultSort
of (
f
,
g
,
S0
) is
Relation-like
Function-like
V27
( the
carrier'
of (
f
,
g
,
S0
), the
carrier
of (
f
,
g
,
S0
))
Element
of
K18
(
K19
( the
carrier'
of (
f
,
g
,
S0
), the
carrier
of (
f
,
g
,
S0
)))
the
carrier'
of (
f
,
g
,
S0
) is non
empty
set
K19
( the
carrier'
of (
f
,
g
,
S0
), the
carrier
of (
f
,
g
,
S0
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
f
,
g
,
S0
), the
carrier
of (
f
,
g
,
S0
))) is
set
K547
( the
carrier
of (
f
,
g
,
S0
), the
ResultSort
of (
f
,
g
,
S0
)) is
Element
of
K18
( the
carrier
of (
f
,
g
,
S0
))
g
.
n
is
set
S0
.
n
is
set
h
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
h
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
A0
is
Element
of
InnerVertices
(
f
,
g
,
S0
)
(
h
,
g
,
S0
) is
Element
of
InnerVertices
(
h
,
g
,
S0
)
(
h
,
g
,
S0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
h
,
g
,
S0
) is non
empty
set
InnerVertices
(
h
,
g
,
S0
) is non
empty
Element
of
K18
( the
carrier
of (
h
,
g
,
S0
))
K18
( the
carrier
of (
h
,
g
,
S0
)) is
set
the
ResultSort
of (
h
,
g
,
S0
) is
Relation-like
Function-like
V27
( the
carrier'
of (
h
,
g
,
S0
), the
carrier
of (
h
,
g
,
S0
))
Element
of
K18
(
K19
( the
carrier'
of (
h
,
g
,
S0
), the
carrier
of (
h
,
g
,
S0
)))
the
carrier'
of (
h
,
g
,
S0
) is non
empty
set
K19
( the
carrier'
of (
h
,
g
,
S0
), the
carrier
of (
h
,
g
,
S0
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
h
,
g
,
S0
), the
carrier
of (
h
,
g
,
S0
))) is
set
K547
( the
carrier
of (
h
,
g
,
S0
), the
ResultSort
of (
h
,
g
,
S0
)) is
Element
of
K18
( the
carrier
of (
h
,
g
,
S0
))
BitSubtracterOutput
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
)) is
Element
of
InnerVertices
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
}
,
{
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
h
,
g
,
S0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
h
,
g
,
S0
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
h
,
g
,
S0
)
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
is non
empty
set
InnerVertices
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
)
K18
( the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
) is
set
the
ResultSort
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
))
the
carrier'
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
is non
empty
set
K19
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
)) is
set
K547
( the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
, the
ResultSort
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
) is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
)
2GatesCircOutput
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
) is non
empty
pair
Element
of
InnerVertices
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
h
,
g
,
S0
),
'xor'
)
)
[
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
h
,
g
,
S0
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
h
,
g
,
S0
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
h
,
g
,
S0
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
h
,
g
,
S0
)
*>
,
'xor'
}
,
{
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
h
,
g
,
S0
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
Sn
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
Sn
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
N
is
Element
of
InnerVertices
(
f
,
g
,
S0
)
(
Sn
,
g
,
S0
) is
Element
of
InnerVertices
(
Sn
,
g
,
S0
)
(
Sn
,
g
,
S0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
Sn
,
g
,
S0
) is non
empty
set
InnerVertices
(
Sn
,
g
,
S0
) is non
empty
Element
of
K18
( the
carrier
of (
Sn
,
g
,
S0
))
K18
( the
carrier
of (
Sn
,
g
,
S0
)) is
set
the
ResultSort
of (
Sn
,
g
,
S0
) is
Relation-like
Function-like
V27
( the
carrier'
of (
Sn
,
g
,
S0
), the
carrier
of (
Sn
,
g
,
S0
))
Element
of
K18
(
K19
( the
carrier'
of (
Sn
,
g
,
S0
), the
carrier
of (
Sn
,
g
,
S0
)))
the
carrier'
of (
Sn
,
g
,
S0
) is non
empty
set
K19
( the
carrier'
of (
Sn
,
g
,
S0
), the
carrier
of (
Sn
,
g
,
S0
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
Sn
,
g
,
S0
), the
carrier
of (
Sn
,
g
,
S0
))) is
set
K547
( the
carrier
of (
Sn
,
g
,
S0
), the
ResultSort
of (
Sn
,
g
,
S0
)) is
Element
of
K18
( the
carrier
of (
Sn
,
g
,
S0
))
BitSubtracterOutput
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
)) is
Element
of
InnerVertices
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
Sn
,
g
,
S0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
Sn
,
g
,
S0
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
Sn
,
g
,
S0
)
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
is non
empty
set
InnerVertices
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
)
K18
( the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
) is
set
the
ResultSort
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
))
the
carrier'
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
is non
empty
set
K19
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
)) is
set
K547
( the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
, the
ResultSort
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
) is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
)
2GatesCircOutput
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
) is non
empty
pair
Element
of
InnerVertices
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
Sn
,
g
,
S0
),
'xor'
)
)
[
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
Sn
,
g
,
S0
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
Sn
,
g
,
S0
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
Sn
,
g
,
S0
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
Sn
,
g
,
S0
)
*>
,
'xor'
}
,
{
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
Sn
,
g
,
S0
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
A0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
1
+
A0
is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
N
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
(
N
,
g
,
S0
) is
Element
of
InnerVertices
(
N
,
g
,
S0
)
(
N
,
g
,
S0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
N
,
g
,
S0
) is non
empty
set
InnerVertices
(
N
,
g
,
S0
) is non
empty
Element
of
K18
( the
carrier
of (
N
,
g
,
S0
))
K18
( the
carrier
of (
N
,
g
,
S0
)) is
set
the
ResultSort
of (
N
,
g
,
S0
) is
Relation-like
Function-like
V27
( the
carrier'
of (
N
,
g
,
S0
), the
carrier
of (
N
,
g
,
S0
))
Element
of
K18
(
K19
( the
carrier'
of (
N
,
g
,
S0
), the
carrier
of (
N
,
g
,
S0
)))
the
carrier'
of (
N
,
g
,
S0
) is non
empty
set
K19
( the
carrier'
of (
N
,
g
,
S0
), the
carrier
of (
N
,
g
,
S0
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
N
,
g
,
S0
), the
carrier
of (
N
,
g
,
S0
))) is
set
K547
( the
carrier
of (
N
,
g
,
S0
), the
ResultSort
of (
N
,
g
,
S0
)) is
Element
of
K18
( the
carrier
of (
N
,
g
,
S0
))
BitSubtracterOutput
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
)) is
Element
of
InnerVertices
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
}
,
{
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
N
,
g
,
S0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
N
,
g
,
S0
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
N
,
g
,
S0
)
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
is non
empty
set
InnerVertices
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
)
K18
( the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
) is
set
the
ResultSort
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
))
the
carrier'
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
is non
empty
set
K19
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
)) is
set
K547
( the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
, the
ResultSort
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
) is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
)
2GatesCircOutput
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
) is non
empty
pair
Element
of
InnerVertices
(
2GatesCircStr
(
(
g
.
n
)
,
(
S0
.
n
)
,(
N
,
g
,
S0
),
'xor'
)
)
[
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
N
,
g
,
S0
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
N
,
g
,
S0
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
N
,
g
,
S0
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
N
,
g
,
S0
)
*>
,
'xor'
}
,
{
<*
[
<*
(
g
.
n
)
,
(
S0
.
n
)
*>
,
'xor'
]
,(
N
,
g
,
S0
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
(
n
,
g
,
S0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
n
,
g
,
S0
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
g
,
S0
))
the
carrier
of (
n
,
g
,
S0
) is non
empty
set
K18
( the
carrier
of (
n
,
g
,
S0
)) is
set
the
ResultSort
of (
n
,
g
,
S0
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
)))
the
carrier'
of (
n
,
g
,
S0
) is non
empty
set
K19
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
))) is
set
K547
( the
carrier
of (
n
,
g
,
S0
), the
ResultSort
of (
n
,
g
,
S0
)) is
Element
of
K18
( the
carrier
of (
n
,
g
,
S0
))
N
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
g
.
(
N
+
1
)
is
set
S0
.
(
N
+
1
)
is
set
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
),
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
'xor'
]
,(
N
,
g
,
S0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
'xor'
]
,(
N
,
g
,
S0
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
'xor'
]
,(
N
,
g
,
S0
)
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
and2a
}
,
{
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2
]
is non
empty
pair
set
{
<*
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2
}
,
{
<*
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
g
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2a
}
,
{
<*
(
g
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
and2a
]
,
[
<*
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2
]
,
[
<*
(
g
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
and2a
]
,
[
<*
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2
]
,
[
<*
(
g
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
+*
(
1GateCircStr
(
<*
[
<*
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
*>
,
and2a
]
,
[
<*
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2
]
,
[
<*
(
g
.
(
N
+
1
)
)
,(
N
,
g
,
S0
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
),
'xor'
)
)
+*
(
BorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
is non
empty
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
)
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
is non
empty
set
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
) is
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
)
(
N
,
g
,
S0
)
+*
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
\/
the
carrier
of (
N
,
g
,
S0
) is non
empty
set
Sn
is
Element
of the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
g
.
(
N
+
1
)
)
,
(
S0
.
(
N
+
1
)
)
,(
N
,
g
,
S0
))
)
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
f
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
f
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
g
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
S0
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
(
(
f
+
1
)
,
n
,
g
,
S0
) is
Element
of
InnerVertices
(
n
,
g
,
S0
)
(
n
,
g
,
S0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
n
,
g
,
S0
) is non
empty
set
InnerVertices
(
n
,
g
,
S0
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
g
,
S0
))
K18
( the
carrier
of (
n
,
g
,
S0
)) is
set
the
ResultSort
of (
n
,
g
,
S0
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
)))
the
carrier'
of (
n
,
g
,
S0
) is non
empty
set
K19
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
g
,
S0
), the
carrier
of (
n
,
g
,
S0
))) is
set
K547
( the
carrier
of (
n
,
g
,
S0
), the
ResultSort
of (
n
,
g
,
S0
)) is
Element
of
K18
( the
carrier
of (
n
,
g
,
S0
))
g
.
(
f
+
1
)
is
set
S0
.
(
f
+
1
)
is
set
(
f
,
g
,
S0
) is
Element
of
InnerVertices
(
f
,
g
,
S0
)
(
f
,
g
,
S0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
f
,
g
,
S0
) is non
empty
set
InnerVertices
(
f
,
g
,
S0
) is non
empty
Element
of
K18
( the
carrier
of (
f
,
g
,
S0
))
K18
( the
carrier
of (
f
,
g
,
S0
)) is
set
the
ResultSort
of (
f
,
g
,
S0
) is
Relation-like
Function-like
V27
( the
carrier'
of (
f
,
g
,
S0
), the
carrier
of (
f
,
g
,
S0
))
Element
of
K18
(
K19
( the
carrier'
of (
f
,
g
,
S0
), the
carrier
of (
f
,
g
,
S0
)))
the
carrier'
of (
f
,
g
,
S0
) is non
empty
set
K19
( the
carrier'
of (
f
,
g
,
S0
), the
carrier
of (
f
,
g
,
S0
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
f
,
g
,
S0
), the
carrier
of (
f
,
g
,
S0
))) is
set
K547
( the
carrier
of (
f
,
g
,
S0
), the
ResultSort
of (
f
,
g
,
S0
)) is
Element
of
K18
( the
carrier
of (
f
,
g
,
S0
))
BitSubtracterOutput
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
)) is
Element
of
InnerVertices
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
f
,
g
,
S0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
f
,
g
,
S0
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
f
,
g
,
S0
)
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
is non
empty
set
InnerVertices
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
)
K18
( the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
) is
set
the
ResultSort
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
))
the
carrier'
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
is non
empty
set
K19
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
)) is
set
K547
( the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
, the
ResultSort
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
) is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
)
2GatesCircOutput
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
) is non
empty
pair
Element
of
InnerVertices
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
f
,
g
,
S0
),
'xor'
)
)
[
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
f
,
g
,
S0
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
f
,
g
,
S0
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
f
,
g
,
S0
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
f
,
g
,
S0
)
*>
,
'xor'
}
,
{
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
f
,
g
,
S0
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
A0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
A0
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
(
A0
,
g
,
S0
) is
Element
of
InnerVertices
(
A0
,
g
,
S0
)
(
A0
,
g
,
S0
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
A0
,
g
,
S0
) is non
empty
set
InnerVertices
(
A0
,
g
,
S0
) is non
empty
Element
of
K18
( the
carrier
of (
A0
,
g
,
S0
))
K18
( the
carrier
of (
A0
,
g
,
S0
)) is
set
the
ResultSort
of (
A0
,
g
,
S0
) is
Relation-like
Function-like
V27
( the
carrier'
of (
A0
,
g
,
S0
), the
carrier
of (
A0
,
g
,
S0
))
Element
of
K18
(
K19
( the
carrier'
of (
A0
,
g
,
S0
), the
carrier
of (
A0
,
g
,
S0
)))
the
carrier'
of (
A0
,
g
,
S0
) is non
empty
set
K19
( the
carrier'
of (
A0
,
g
,
S0
), the
carrier
of (
A0
,
g
,
S0
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
A0
,
g
,
S0
), the
carrier
of (
A0
,
g
,
S0
))) is
set
K547
( the
carrier
of (
A0
,
g
,
S0
), the
ResultSort
of (
A0
,
g
,
S0
)) is
Element
of
K18
( the
carrier
of (
A0
,
g
,
S0
))
BitSubtracterOutput
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
)) is
Element
of
InnerVertices
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
A0
,
g
,
S0
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
A0
,
g
,
S0
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
A0
,
g
,
S0
)
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
is non
empty
set
InnerVertices
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
)
K18
( the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
) is
set
the
ResultSort
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
))
the
carrier'
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
is non
empty
set
K19
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
)) is
set
K547
( the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
, the
ResultSort
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
) is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
)
2GatesCircOutput
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
) is non
empty
pair
Element
of
InnerVertices
(
2GatesCircStr
(
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
,(
A0
,
g
,
S0
),
'xor'
)
)
[
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
A0
,
g
,
S0
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
A0
,
g
,
S0
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
A0
,
g
,
S0
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
A0
,
g
,
S0
)
*>
,
'xor'
}
,
{
<*
[
<*
(
g
.
(
f
+
1
)
)
,
(
S0
.
(
f
+
1
)
)
*>
,
'xor'
]
,(
A0
,
g
,
S0
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
f
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
g
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
n
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
the
carrier
of (
n
,
f
,
g
) is non
empty
set
K18
( the
carrier
of (
n
,
f
,
g
)) is
set
the
ResultSort
of (
n
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)))
the
carrier'
of (
n
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))) is
set
K547
( the
carrier
of (
n
,
f
,
g
), the
ResultSort
of (
n
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
(
0
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
0
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
0
,
f
,
g
))
the
carrier
of (
0
,
f
,
g
) is non
empty
set
K18
( the
carrier
of (
0
,
f
,
g
)) is
set
the
ResultSort
of (
0
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
0
,
f
,
g
), the
carrier
of (
0
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
0
,
f
,
g
), the
carrier
of (
0
,
f
,
g
)))
the
carrier'
of (
0
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
0
,
f
,
g
), the
carrier
of (
0
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
0
,
f
,
g
), the
carrier
of (
0
,
f
,
g
))) is
set
K547
( the
carrier
of (
0
,
f
,
g
), the
ResultSort
of (
0
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
0
,
f
,
g
))
S0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
(
S0
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
S0
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
S0
,
f
,
g
))
the
carrier
of (
S0
,
f
,
g
) is non
empty
set
K18
( the
carrier
of (
S0
,
f
,
g
)) is
set
the
ResultSort
of (
S0
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
S0
,
f
,
g
), the
carrier
of (
S0
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
S0
,
f
,
g
), the
carrier
of (
S0
,
f
,
g
)))
the
carrier'
of (
S0
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
S0
,
f
,
g
), the
carrier
of (
S0
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
S0
,
f
,
g
), the
carrier
of (
S0
,
f
,
g
))) is
set
K547
( the
carrier
of (
S0
,
f
,
g
), the
ResultSort
of (
S0
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
S0
,
f
,
g
))
S0
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
(
(
S0
+
1
)
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
f
.
(
S0
+
1
)
is
set
g
.
(
S0
+
1
)
is
set
(
S0
,
f
,
g
) is
Element
of
InnerVertices
(
S0
,
f
,
g
)
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
),
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
'xor'
]
,(
S0
,
f
,
g
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
'xor'
]
,(
S0
,
f
,
g
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
'xor'
]
,(
S0
,
f
,
g
)
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
}
,
{
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
}
,
{
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
),
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
S0
,
f
,
g
)
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
is non
empty
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
)
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
is non
empty
set
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
) is
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
)
InnerVertices
(
(
S0
+
1
)
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
(
S0
+
1
)
,
f
,
g
))
the
carrier
of (
(
S0
+
1
)
,
f
,
g
) is non
empty
set
K18
( the
carrier
of (
(
S0
+
1
)
,
f
,
g
)) is
set
the
ResultSort
of (
(
S0
+
1
)
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
(
S0
+
1
)
,
f
,
g
), the
carrier
of (
(
S0
+
1
)
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
(
S0
+
1
)
,
f
,
g
), the
carrier
of (
(
S0
+
1
)
,
f
,
g
)))
the
carrier'
of (
(
S0
+
1
)
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
(
S0
+
1
)
,
f
,
g
), the
carrier
of (
(
S0
+
1
)
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
(
S0
+
1
)
,
f
,
g
), the
carrier
of (
(
S0
+
1
)
,
f
,
g
))) is
set
K547
( the
carrier
of (
(
S0
+
1
)
,
f
,
g
), the
ResultSort
of (
(
S0
+
1
)
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
(
S0
+
1
)
,
f
,
g
))
n
is
set
f
is
set
g
is
set
BorrowIStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
n
,
f
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
n
,
f
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
f
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
f
,
g
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
n
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
n
,
g
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
BorrowIStr
(
n
,
f
,
g
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
is non
empty
set
K18
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BorrowIStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BorrowIStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowIStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)
[
<*
n
,
f
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
f
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
f
*>
,
and2a
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
f
,
g
*>
,
and2
]
is non
empty
pair
set
{
<*
f
,
g
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
f
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
f
,
g
*>
,
and2
}
,
{
<*
f
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
n
,
g
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
g
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
g
*>
,
and2a
}
,
{
<*
n
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
is
Relation-like
V36
()
V51
()
set
InnerVertices
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is non
empty
set
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
) is
set
the
ResultSort
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
))
the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)) is
set
K547
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
, the
ResultSort
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
) is
Element
of
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
set
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
) is
set
the
ResultSort
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
))
the
carrier'
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
set
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)) is
set
K547
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
ResultSort
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
(
InnerVertices
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
is non
empty
set
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
is non
empty
set
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
) is
set
the
ResultSort
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
))
the
carrier'
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
is non
empty
set
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)) is
set
K547
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
ResultSort
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
set
K18
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
) is
set
the
ResultSort
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
))
the
carrier'
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
set
K19
( the
carrier'
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)) is
set
K547
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
ResultSort
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is non
empty
set
(
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
is non
empty
set
{
[
<*
n
,
f
*>
,
and2a
]
}
is non
empty
V2
()
Relation-like
Function-like
constant
V36
() 1
-element
V51
()
set
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is non
empty
set
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
is non
empty
set
{
[
<*
f
,
g
*>
,
and2
]
}
is non
empty
V2
()
Relation-like
Function-like
constant
V36
() 1
-element
V51
()
set
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
{
[
<*
f
,
g
*>
,
and2
]
}
is non
empty
Relation-like
V36
()
V51
()
set
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
is non
empty
set
{
[
<*
n
,
g
*>
,
and2a
]
}
is non
empty
V2
()
Relation-like
Function-like
constant
V36
() 1
-element
V51
()
set
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
{
[
<*
n
,
g
*>
,
and2a
]
}
is non
empty
Relation-like
V36
()
V51
()
set
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
}
is non
empty
Relation-like
V36
()
V51
()
set
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
}
\/
{
[
<*
n
,
g
*>
,
and2a
]
}
is non
empty
Relation-like
V36
()
V51
()
set
n
is
set
f
is
set
g
is
set
<*
f
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
f
,
g
*>
,
and2
]
is non
empty
pair
set
{
<*
f
,
g
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
f
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
f
,
g
*>
,
and2
}
,
{
<*
f
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
n
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
n
,
g
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
g
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
g
*>
,
and2a
}
,
{
<*
n
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
n
,
f
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
n
,
f
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
f
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
f
*>
,
and2a
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
BorrowIStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
f
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
f
,
g
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
g
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InputVertices
(
BorrowIStr
(
n
,
f
,
g
)
)
is
Element
of
K18
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
is non
empty
set
K18
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BorrowIStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BorrowIStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowIStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
\
K547
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowIStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)
{
n
,
f
,
g
}
is
V36
()
V51
()
set
{
1,
f
}
is non
empty
V36
()
V51
()
set
{
2,
f
}
is non
empty
V36
()
V51
()
set
[
1,
f
]
is non
empty
pair
set
{
1
}
is non
empty
V2
()
V36
()
V40
() 1
-element
V51
() non
with_pair
set
{
{
1,
f
}
,
{
1
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
2,
f
]
is non
empty
pair
set
{
2
}
is non
empty
V2
()
V36
()
V40
() 1
-element
V51
() non
with_pair
set
{
{
2,
f
}
,
{
2
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
f
*>
is non
empty
V2
()
Relation-like
NAT
-defined
Function-like
constant
V36
() 1
-element
FinSequence-like
FinSubsequence-like
V51
()
set
<*
g
*>
is non
empty
V2
()
Relation-like
NAT
-defined
Function-like
constant
V36
() 1
-element
FinSequence-like
FinSubsequence-like
V51
()
set
<*
f
*>
^
<*
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 1
+
1
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
{
[
1,
f
]
}
is non
empty
V2
()
Relation-like
Function-like
constant
V36
() 1
-element
V51
()
set
{
2,
g
}
is non
empty
V36
()
V51
()
set
[
2,
g
]
is non
empty
pair
set
{
{
2,
g
}
,
{
2
}
}
is non
empty
V36
()
V40
()
V51
()
set
dom
<*
f
,
g
*>
is non
empty
V36
() 2
-element
V51
()
Element
of
K18
(
NAT
)
Seg
2 is non
empty
V36
() 2
-element
V51
()
Element
of
K18
(
NAT
)
<*
f
,
g
*>
.
2 is
set
dom
<*
n
,
f
*>
is non
empty
V36
() 2
-element
V51
()
Element
of
K18
(
NAT
)
<*
n
,
f
*>
.
2 is
set
{
f
,
g
}
is non
empty
V36
()
V51
()
set
{
1,
n
}
is non
empty
V36
()
V51
()
set
[
1,
n
]
is non
empty
pair
set
{
{
1,
n
}
,
{
1
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
n
*>
is non
empty
V2
()
Relation-like
NAT
-defined
Function-like
constant
V36
() 1
-element
FinSequence-like
FinSubsequence-like
V51
()
set
<*
n
*>
^
<*
f
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 1
+
1
-element
FinSequence-like
FinSubsequence-like
V51
()
set
{
[
1,
n
]
}
is non
empty
V2
()
Relation-like
Function-like
constant
V36
() 1
-element
V51
()
set
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
}
is non
empty
Relation-like
V36
()
V51
()
set
dom
<*
n
,
g
*>
is non
empty
V36
() 2
-element
V51
()
Element
of
K18
(
NAT
)
<*
n
,
g
*>
.
2 is
set
<*
n
*>
^
<*
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 1
+
1
-element
FinSequence-like
FinSubsequence-like
V51
()
set
the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is non
empty
set
InputVertices
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is
Element
of
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
) is
set
the
ResultSort
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
))
the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)) is
set
K547
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
, the
ResultSort
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
) is
Element
of
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
K547
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
, the
ResultSort
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
) is
Element
of
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
set
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
) is
set
the
ResultSort
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
))
the
carrier'
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
set
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)) is
set
K547
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
ResultSort
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
(
InputVertices
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
is
Element
of
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
InputVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
\
K547
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
ResultSort
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
InnerVertices
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
(
InputVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\
(
InnerVertices
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
(
(
InputVertices
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\
(
InnerVertices
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
)
is
set
the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
is non
empty
set
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
) is
set
the
ResultSort
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
))
the
carrier'
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
is non
empty
set
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)) is
set
K547
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
ResultSort
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
\
K547
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
ResultSort
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
set
K18
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
) is
set
the
ResultSort
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
))
the
carrier'
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
set
K19
( the
carrier'
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)) is
set
K547
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
ResultSort
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
\
K547
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
ResultSort
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
)
is
set
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
is
Element
of
K18
(
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
)
)
)
K18
(
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
)
)
) is
set
(
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\
(
InnerVertices
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
)
is
set
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is non
empty
set
(
InputVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\
(
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
(
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\
(
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
)
is
set
{
[
<*
f
,
g
*>
,
and2
]
}
is non
empty
V2
()
Relation-like
Function-like
constant
V36
() 1
-element
V51
()
set
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
)
is
set
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
is
Element
of
K18
(
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
)
)
)
K18
(
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
)
)
) is
set
(
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\
(
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
)
is
set
{
[
<*
n
,
f
*>
,
and2a
]
}
is non
empty
V2
()
Relation-like
Function-like
constant
V36
() 1
-element
V51
()
set
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
is
set
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
is
Element
of
K18
(
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
)
K18
(
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
) is
set
(
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\
(
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
)
is
set
{
[
<*
n
,
g
*>
,
and2a
]
}
is non
empty
V2
()
Relation-like
Function-like
constant
V36
() 1
-element
V51
()
set
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
\
{
[
<*
n
,
g
*>
,
and2a
]
}
is
Element
of
K18
(
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
)
(
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
\
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\
(
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
)
is
set
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is non
empty
set
(
InputVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
(
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
\
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
)
is
set
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
{
[
<*
f
,
g
*>
,
and2
]
}
is non
empty
Relation-like
V36
()
V51
()
set
(
InputVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
{
[
<*
f
,
g
*>
,
and2
]
}
)
is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
(
(
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
\
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
{
[
<*
f
,
g
*>
,
and2
]
}
)
)
is
set
{
n
,
f
}
is non
empty
V36
()
V51
()
set
{
n
,
f
}
\
{
[
<*
f
,
g
*>
,
and2
]
}
is
V36
()
V51
()
Element
of
K18
(
{
n
,
f
}
)
K18
(
{
n
,
f
}
) is
V36
()
V40
()
V51
()
set
(
{
n
,
f
}
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
is
set
(
(
{
n
,
f
}
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
\
{
[
<*
n
,
g
*>
,
and2a
]
}
is
Element
of
K18
(
(
(
{
n
,
f
}
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
)
K18
(
(
(
{
n
,
f
}
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
) is
set
(
(
(
{
n
,
f
}
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
\
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
{
[
<*
f
,
g
*>
,
and2
]
}
)
)
is
set
{
f
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
}
is
V36
()
V51
()
Element
of
K18
(
{
f
,
g
}
)
K18
(
{
f
,
g
}
) is
V36
()
V40
()
V51
()
set
(
{
n
,
f
}
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
{
f
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
is
V36
()
V51
()
set
(
(
{
n
,
f
}
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
{
f
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
\
{
[
<*
n
,
g
*>
,
and2a
]
}
is
V36
()
V51
()
Element
of
K18
(
(
(
{
n
,
f
}
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
{
f
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
)
K18
(
(
(
{
n
,
f
}
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
{
f
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
) is
V36
()
V40
()
V51
()
set
(
(
(
{
n
,
f
}
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
{
f
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
\
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
{
[
<*
f
,
g
*>
,
and2
]
}
)
)
is
set
{
n
,
g
}
is non
empty
V36
()
V51
()
set
{
n
,
g
}
\
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
{
[
<*
f
,
g
*>
,
and2
]
}
)
is
V36
()
V51
()
Element
of
K18
(
{
n
,
g
}
)
K18
(
{
n
,
g
}
) is
V36
()
V40
()
V51
()
set
(
(
(
{
n
,
f
}
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
{
f
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
\
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
(
{
n
,
g
}
\
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
{
[
<*
f
,
g
*>
,
and2
]
}
)
)
is
V36
()
V51
()
set
{
n
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
}
is
V36
()
V51
()
Element
of
K18
(
{
n
,
g
}
)
(
(
(
{
n
,
f
}
\
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
{
f
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
\
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
(
{
n
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
}
)
is
V36
()
V51
()
set
{
n
,
f
}
\/
(
{
f
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
is non
empty
V36
()
V51
()
set
(
{
n
,
f
}
\/
(
{
f
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
\
{
[
<*
n
,
g
*>
,
and2a
]
}
is
V36
()
V51
()
Element
of
K18
(
(
{
n
,
f
}
\/
(
{
f
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
)
K18
(
(
{
n
,
f
}
\/
(
{
f
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
) is
V36
()
V40
()
V51
()
set
(
(
{
n
,
f
}
\/
(
{
f
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
}
)
)
\
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
(
{
n
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
}
)
is
V36
()
V51
()
set
{
n
,
f
}
\/
{
f
,
g
}
is non
empty
V36
()
V51
()
set
(
{
n
,
f
}
\/
{
f
,
g
}
)
\
{
[
<*
n
,
g
*>
,
and2a
]
}
is
V36
()
V51
()
Element
of
K18
(
(
{
n
,
f
}
\/
{
f
,
g
}
)
)
K18
(
(
{
n
,
f
}
\/
{
f
,
g
}
)
) is
V36
()
V40
()
V51
()
set
(
(
{
n
,
f
}
\/
{
f
,
g
}
)
\
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
(
{
n
,
g
}
\
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
}
)
is
V36
()
V51
()
set
(
(
{
n
,
f
}
\/
{
f
,
g
}
)
\
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
{
n
,
g
}
is non
empty
V36
()
V51
()
set
{
n
,
f
,
f
,
g
}
is
V36
()
V51
()
set
{
n
,
f
,
f
,
g
}
\
{
[
<*
n
,
g
*>
,
and2a
]
}
is
V36
()
V51
()
Element
of
K18
(
{
n
,
f
,
f
,
g
}
)
K18
(
{
n
,
f
,
f
,
g
}
) is
V36
()
V40
()
V51
()
set
(
{
n
,
f
,
f
,
g
}
\
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
{
n
,
g
}
is non
empty
V36
()
V51
()
set
{
f
,
f
,
n
,
g
}
is
V36
()
V51
()
set
{
f
,
f
,
n
,
g
}
\
{
[
<*
n
,
g
*>
,
and2a
]
}
is
V36
()
V51
()
Element
of
K18
(
{
f
,
f
,
n
,
g
}
)
K18
(
{
f
,
f
,
n
,
g
}
) is
V36
()
V40
()
V51
()
set
(
{
f
,
f
,
n
,
g
}
\
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
{
n
,
g
}
is non
empty
V36
()
V51
()
set
{
f
,
n
,
g
}
is
V36
()
V51
()
set
{
f
,
n
,
g
}
\
{
[
<*
n
,
g
*>
,
and2a
]
}
is
V36
()
V51
()
Element
of
K18
(
{
f
,
n
,
g
}
)
K18
(
{
f
,
n
,
g
}
) is
V36
()
V40
()
V51
()
set
(
{
f
,
n
,
g
}
\
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
{
n
,
g
}
is non
empty
V36
()
V51
()
set
{
n
,
f
,
g
}
\
{
[
<*
n
,
g
*>
,
and2a
]
}
is
V36
()
V51
()
Element
of
K18
(
{
n
,
f
,
g
}
)
K18
(
{
n
,
f
,
g
}
) is
V36
()
V40
()
V51
()
set
(
{
n
,
f
,
g
}
\
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
{
n
,
g
}
is non
empty
V36
()
V51
()
set
{
n
,
f
,
g
}
\/
{
n
,
g
}
is non
empty
V36
()
V51
()
set
{
n
,
f
,
g
,
g
,
n
}
is
V36
()
V51
()
set
{
n
,
f
,
g
,
g
}
is
V36
()
V51
()
set
{
n
}
is non
empty
V2
()
V36
() 1
-element
V51
()
set
{
n
,
f
,
g
,
g
}
\/
{
n
}
is non
empty
V36
()
V51
()
set
{
g
,
g
,
n
,
f
}
is
V36
()
V51
()
set
{
g
,
g
,
n
,
f
}
\/
{
n
}
is non
empty
V36
()
V51
()
set
{
g
,
n
,
f
}
is
V36
()
V51
()
set
{
g
,
n
,
f
}
\/
{
n
}
is non
empty
V36
()
V51
()
set
{
g
,
n
,
f
,
n
}
is
V36
()
V51
()
set
{
n
,
n
,
f
,
g
}
is
V36
()
V51
()
set
n
is
set
f
is
set
g
is
set
BorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
n
,
f
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
n
,
f
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
f
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
f
,
g
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
n
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
n
,
g
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
n
,
f
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
f
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
f
*>
,
and2a
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
f
,
g
*>
,
and2
]
is non
empty
pair
set
{
<*
f
,
g
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
f
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
f
,
g
*>
,
and2
}
,
{
<*
f
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
n
,
g
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
g
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
g
*>
,
and2a
}
,
{
<*
n
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
is
Relation-like
V36
()
V51
()
set
BorrowOutput
(
n
,
f
,
g
) is
Element
of
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
[
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
{
(
BorrowOutput
(
n
,
f
,
g
)
)
}
is non
empty
V2
()
V36
() 1
-element
V51
()
set
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
\/
{
(
BorrowOutput
(
n
,
f
,
g
)
)
}
is non
empty
V36
()
V51
()
set
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
)
the
carrier
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
is non
empty
set
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
) is
set
the
ResultSort
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
))
the
carrier'
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
)) is
set
K547
( the
carrier
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
, the
ResultSort
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
) is
Element
of
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
)
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
set
K18
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
) is
set
the
ResultSort
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
))
the
carrier'
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
set
K19
( the
carrier'
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)) is
set
K547
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
, the
ResultSort
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
InnerVertices
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
the
carrier
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
set
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
) is
set
the
ResultSort
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
))
the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)) is
set
K547
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
, the
ResultSort
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
) is
Element
of
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
\/
(
InnerVertices
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
is non
empty
set
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
set
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
) is
set
the
ResultSort
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
))
the
carrier'
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
set
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)) is
set
K547
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
, the
ResultSort
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
InnerVertices
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
set
K18
( the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
) is
set
the
ResultSort
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
, the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
, the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
))
the
carrier'
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
set
K19
( the
carrier'
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
, the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
, the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)) is
set
K547
( the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
, the
ResultSort
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
set
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
the
carrier
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
set
K18
( the
carrier
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
) is
set
the
ResultSort
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
, the
carrier
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
, the
carrier
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
))
the
carrier'
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
, the
carrier
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
, the
carrier
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)) is
set
K547
( the
carrier
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
, the
ResultSort
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
) is
Element
of
K18
( the
carrier
of
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
)
the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
is non
empty
set
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
) is
set
the
ResultSort
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
))
the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
, the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
)) is
set
K547
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
, the
ResultSort
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
) is
Element
of
K18
( the
carrier
of
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
)
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
is non
empty
set
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
) is
set
the
ResultSort
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
))
the
carrier'
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
is non
empty
set
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)) is
set
K547
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
, the
ResultSort
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
InnerVertices
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
the
carrier
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
set
K18
( the
carrier
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
) is
set
the
ResultSort
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
, the
carrier
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
, the
carrier
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
))
the
carrier'
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
, the
carrier
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
, the
carrier
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)) is
set
K547
( the
carrier
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
, the
ResultSort
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
) is
Element
of
K18
( the
carrier
of
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
is non
empty
set
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
+*
(
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
)
is non
empty
set
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is non
empty
set
(
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\/
(
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
is non
empty
set
(
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
is non
empty
set
(
(
(
InnerVertices
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
set
{
[
<*
n
,
f
*>
,
and2a
]
}
is non
empty
V2
()
Relation-like
Function-like
constant
V36
() 1
-element
V51
()
set
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
is non
empty
set
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
is non
empty
set
(
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
(
InnerVertices
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
set
{
[
<*
f
,
g
*>
,
and2
]
}
is non
empty
V2
()
Relation-like
Function-like
constant
V36
() 1
-element
V51
()
set
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
{
[
<*
f
,
g
*>
,
and2
]
}
is non
empty
Relation-like
V36
()
V51
()
set
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
is non
empty
set
(
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
set
{
[
<*
n
,
g
*>
,
and2a
]
}
is non
empty
V2
()
Relation-like
Function-like
constant
V36
() 1
-element
V51
()
set
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
{
[
<*
n
,
g
*>
,
and2a
]
}
is non
empty
Relation-like
V36
()
V51
()
set
(
(
{
[
<*
n
,
f
*>
,
and2a
]
}
\/
{
[
<*
f
,
g
*>
,
and2
]
}
)
\/
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
set
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
}
is non
empty
Relation-like
V36
()
V51
()
set
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
}
\/
{
[
<*
n
,
g
*>
,
and2a
]
}
is non
empty
Relation-like
V36
()
V51
()
set
(
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
}
\/
{
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
(
InnerVertices
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
set
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
\/
(
InnerVertices
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is non
empty
set
n
is
set
f
is
set
g
is
set
<*
f
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
f
,
g
*>
,
and2
]
is non
empty
pair
set
{
<*
f
,
g
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
f
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
f
,
g
*>
,
and2
}
,
{
<*
f
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
n
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
n
,
g
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
g
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
g
*>
,
and2a
}
,
{
<*
n
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
n
,
f
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
n
,
f
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
f
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
f
*>
,
and2a
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
BorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
f
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
f
,
g
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
g
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InputVertices
(
BorrowStr
(
n
,
f
,
g
)
)
is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
\
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
{
n
,
f
,
g
}
is
V36
()
V51
()
set
InnerVertices
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
set
K18
( the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
) is
set
the
ResultSort
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
, the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
, the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
))
the
carrier'
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
set
K19
( the
carrier'
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
, the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
, the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)) is
set
K547
( the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
, the
ResultSort
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
[
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
{
[
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
]
}
is non
empty
V2
()
Relation-like
Function-like
constant
V36
() 1
-element
V51
()
set
InputVertices
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
\
K547
( the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
, the
ResultSort
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
proj2
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
is non
empty
V36
()
V51
()
set
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
is
Relation-like
V36
()
V51
()
set
proj2
<*
n
,
g
*>
is non
empty
V36
()
V51
()
set
{
n
,
g
}
is non
empty
V36
()
V51
()
set
len
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
Seg
3 is non
empty
V36
() 3
-element
V51
()
Element
of
K18
(
NAT
)
dom
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
is non
empty
V36
() 3
-element
V51
()
Element
of
K18
(
NAT
)
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
.
3 is
set
[
3,
[
<*
n
,
g
*>
,
and2a
]
]
is non
empty
pair
set
{
3,
[
<*
n
,
g
*>
,
and2a
]
}
is non
empty
V36
()
V51
()
set
{
3
}
is non
empty
V2
()
V36
()
V40
() 1
-element
V51
() non
with_pair
set
{
{
3,
[
<*
n
,
g
*>
,
and2a
]
}
,
{
3
}
}
is non
empty
V36
()
V40
()
V51
()
set
the_rank_of
[
<*
n
,
g
*>
,
and2a
]
is
V9
()
V10
()
V11
()
set
the_rank_of
[
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
]
is
V9
()
V10
()
V11
()
set
proj2
<*
n
,
f
*>
is non
empty
V36
()
V51
()
set
{
n
,
f
}
is non
empty
V36
()
V51
()
set
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
.
1 is
set
[
1,
[
<*
n
,
f
*>
,
and2a
]
]
is non
empty
pair
set
{
1,
[
<*
n
,
f
*>
,
and2a
]
}
is non
empty
V36
()
V51
()
set
{
1
}
is non
empty
V2
()
V36
()
V40
() 1
-element
V51
() non
with_pair
set
{
{
1,
[
<*
n
,
f
*>
,
and2a
]
}
,
{
1
}
}
is non
empty
V36
()
V40
()
V51
()
set
the_rank_of
[
<*
n
,
f
*>
,
and2a
]
is
V9
()
V10
()
V11
()
set
proj2
<*
f
,
g
*>
is non
empty
V36
()
V51
()
set
{
f
,
g
}
is non
empty
V36
()
V51
()
set
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
.
2 is
set
[
2,
[
<*
f
,
g
*>
,
and2
]
]
is non
empty
pair
set
{
2,
[
<*
f
,
g
*>
,
and2
]
}
is non
empty
V36
()
V51
()
set
{
2
}
is non
empty
V2
()
V36
()
V40
() 1
-element
V51
() non
with_pair
set
{
{
2,
[
<*
f
,
g
*>
,
and2
]
}
,
{
2
}
}
is non
empty
V36
()
V40
()
V51
()
set
the_rank_of
[
<*
f
,
g
*>
,
and2
]
is
V9
()
V10
()
V11
()
set
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
\
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
is
Relation-like
V36
()
V51
()
Element
of
K18
(
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
)
K18
(
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
) is
V36
()
V40
()
V51
()
set
{
n
,
f
,
g
}
\
{
[
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
]
}
is
V36
()
V51
()
Element
of
K18
(
{
n
,
f
,
g
}
)
K18
(
{
n
,
f
,
g
}
) is
V36
()
V40
()
V51
()
set
An
is
set
the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
is non
empty
set
InputVertices
(
BorrowIStr
(
n
,
f
,
g
)
)
is
Element
of
K18
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)
K18
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BorrowIStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BorrowIStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowIStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
\
K547
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowIStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)
(
InputVertices
(
BorrowIStr
(
n
,
f
,
g
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
is
Element
of
K18
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)
InnerVertices
(
BorrowIStr
(
n
,
f
,
g
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowIStr
(
n
,
f
,
g
)
)
)
(
InputVertices
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
\
(
InnerVertices
(
BorrowIStr
(
n
,
f
,
g
)
)
)
is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
(
(
InputVertices
(
BorrowIStr
(
n
,
f
,
g
)
)
)
\
(
InnerVertices
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
)
\/
(
(
InputVertices
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
\
(
InnerVertices
(
BorrowIStr
(
n
,
f
,
g
)
)
)
)
is
set
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
\
(
InnerVertices
(
BorrowIStr
(
n
,
f
,
g
)
)
)
is
Relation-like
V36
()
V51
()
Element
of
K18
(
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
)
{
n
,
f
,
g
}
\/
(
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
\
(
InnerVertices
(
BorrowIStr
(
n
,
f
,
g
)
)
)
)
is
V36
()
V51
()
set
{
n
,
f
,
g
}
\/
{}
is
V36
()
V51
()
set
n
is
set
f
is
set
g
is
set
<*
f
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
f
,
g
*>
,
and2
]
is non
empty
pair
set
{
<*
f
,
g
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
f
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
f
,
g
*>
,
and2
}
,
{
<*
f
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
n
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
n
,
g
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
g
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
g
*>
,
and2a
}
,
{
<*
n
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
n
,
f
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
n
,
f
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
f
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
f
*>
,
and2a
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
n
,
f
*>
,
'xor'
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
n
,
f
*>
,
'xor'
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
BitSubtracterWithBorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
n
,
f
,
g
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
f
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
f
,
g
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
g
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InputVertices
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
\
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
)
{
n
,
f
,
g
}
is
V36
()
V51
()
set
InputVertices
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is non
empty
set
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
) is
set
the
ResultSort
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
))
the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is non
empty
set
K19
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)) is
set
K547
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
ResultSort
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
) is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
\
K547
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
ResultSort
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
) is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
InputVertices
(
BorrowStr
(
n
,
f
,
g
)
)
is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
\
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
n
is
set
f
is
set
g
is
set
BitSubtracterWithBorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
n
,
f
,
g
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
n
,
f
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
n
,
f
*>
,
'xor'
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
f
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
f
*>
,
'xor'
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
f
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
f
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
f
,
g
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
n
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
n
,
g
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
n
,
f
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
n
,
f
*>
,
and2a
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
f
,
g
*>
,
and2
]
is non
empty
pair
set
{
<*
f
,
g
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
f
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
f
,
g
*>
,
and2
}
,
{
<*
f
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
n
,
g
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
g
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
g
*>
,
and2a
}
,
{
<*
n
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
)
2GatesCircOutput
(
n
,
f
,
g
,
'xor'
) is non
empty
pair
Element
of
InnerVertices
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is non
empty
set
InnerVertices
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
) is
set
the
ResultSort
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
))
the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is non
empty
set
K19
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)) is
set
K547
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
ResultSort
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
) is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
[
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
]
is non
empty
pair
set
{
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
}
,
{
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
{
[
<*
n
,
f
*>
,
'xor'
]
,
(
2GatesCircOutput
(
n
,
f
,
g
,
'xor'
)
)
}
is non
empty
Relation-like
V36
()
V51
()
set
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
is
Relation-like
V36
()
V51
()
set
{
[
<*
n
,
f
*>
,
'xor'
]
,
(
2GatesCircOutput
(
n
,
f
,
g
,
'xor'
)
)
}
\/
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
is non
empty
Relation-like
V36
()
V51
()
set
BorrowOutput
(
n
,
f
,
g
) is
Element
of
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
[
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
{
(
BorrowOutput
(
n
,
f
,
g
)
)
}
is non
empty
V2
()
V36
() 1
-element
V51
()
set
(
{
[
<*
n
,
f
*>
,
'xor'
]
,
(
2GatesCircOutput
(
n
,
f
,
g
,
'xor'
)
)
}
\/
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
)
\/
{
(
BorrowOutput
(
n
,
f
,
g
)
)
}
is non
empty
V36
()
V51
()
set
(
InnerVertices
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
\/
(
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
)
is non
empty
set
{
[
<*
n
,
f
*>
,
'xor'
]
,
(
2GatesCircOutput
(
n
,
f
,
g
,
'xor'
)
)
}
\/
(
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
)
is non
empty
set
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
\/
{
(
BorrowOutput
(
n
,
f
,
g
)
)
}
is non
empty
V36
()
V51
()
set
{
[
<*
n
,
f
*>
,
'xor'
]
,
(
2GatesCircOutput
(
n
,
f
,
g
,
'xor'
)
)
}
\/
(
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
\/
{
(
BorrowOutput
(
n
,
f
,
g
)
)
}
)
is non
empty
V36
()
V51
()
set
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
f
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
g
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
(
n
,
f
,
g
) is
Element
of
InnerVertices
(
n
,
f
,
g
)
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
n
,
f
,
g
) is non
empty
set
InnerVertices
(
n
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
K18
( the
carrier
of (
n
,
f
,
g
)) is
set
the
ResultSort
of (
n
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)))
the
carrier'
of (
n
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))) is
set
K547
( the
carrier
of (
n
,
f
,
g
), the
ResultSort
of (
n
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
(
0
,
f
,
g
) is
Element
of
InnerVertices
(
0
,
f
,
g
)
(
0
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
0
,
f
,
g
) is non
empty
set
InnerVertices
(
0
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
0
,
f
,
g
))
K18
( the
carrier
of (
0
,
f
,
g
)) is
set
the
ResultSort
of (
0
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
0
,
f
,
g
), the
carrier
of (
0
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
0
,
f
,
g
), the
carrier
of (
0
,
f
,
g
)))
the
carrier'
of (
0
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
0
,
f
,
g
), the
carrier
of (
0
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
0
,
f
,
g
), the
carrier
of (
0
,
f
,
g
))) is
set
K547
( the
carrier
of (
0
,
f
,
g
), the
ResultSort
of (
0
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
0
,
f
,
g
))
S0
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
S0
.
0
is
set
S0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
(
S0
,
f
,
g
) is
Element
of
InnerVertices
(
S0
,
f
,
g
)
(
S0
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
S0
,
f
,
g
) is non
empty
set
InnerVertices
(
S0
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
S0
,
f
,
g
))
K18
( the
carrier
of (
S0
,
f
,
g
)) is
set
the
ResultSort
of (
S0
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
S0
,
f
,
g
), the
carrier
of (
S0
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
S0
,
f
,
g
), the
carrier
of (
S0
,
f
,
g
)))
the
carrier'
of (
S0
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
S0
,
f
,
g
), the
carrier
of (
S0
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
S0
,
f
,
g
), the
carrier
of (
S0
,
f
,
g
))) is
set
K547
( the
carrier
of (
S0
,
f
,
g
), the
ResultSort
of (
S0
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
S0
,
f
,
g
))
S0
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
(
(
S0
+
1
)
,
f
,
g
) is
Element
of
InnerVertices
(
(
S0
+
1
)
,
f
,
g
)
(
(
S0
+
1
)
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
(
S0
+
1
)
,
f
,
g
) is non
empty
set
InnerVertices
(
(
S0
+
1
)
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
(
S0
+
1
)
,
f
,
g
))
K18
( the
carrier
of (
(
S0
+
1
)
,
f
,
g
)) is
set
the
ResultSort
of (
(
S0
+
1
)
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
(
S0
+
1
)
,
f
,
g
), the
carrier
of (
(
S0
+
1
)
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
(
S0
+
1
)
,
f
,
g
), the
carrier
of (
(
S0
+
1
)
,
f
,
g
)))
the
carrier'
of (
(
S0
+
1
)
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
(
S0
+
1
)
,
f
,
g
), the
carrier
of (
(
S0
+
1
)
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
(
S0
+
1
)
,
f
,
g
), the
carrier
of (
(
S0
+
1
)
,
f
,
g
))) is
set
K547
( the
carrier
of (
(
S0
+
1
)
,
f
,
g
), the
ResultSort
of (
(
S0
+
1
)
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
(
S0
+
1
)
,
f
,
g
))
f
.
(
S0
+
1
)
is
set
g
.
(
S0
+
1
)
is
set
BorrowOutput
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)) is
Element
of
InnerVertices
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
}
,
{
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
}
,
{
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
is non
empty
set
InnerVertices
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
)
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
) is
set
the
ResultSort
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
))
the
carrier'
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
, the
ResultSort
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
))
)
)
[
<*
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
(
f
.
(
S0
+
1
)
)
,
(
g
.
(
S0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2
]
,
[
<*
(
f
.
(
S0
+
1
)
)
,(
S0
,
f
,
g
)
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
n
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
f
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
proj1
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
is
set
(
0
,
n
,
f
) is non
empty
pair
Element
of
InnerVertices
(
0
,
n
,
f
)
(
0
,
n
,
f
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
0
,
n
,
f
) is non
empty
set
InnerVertices
(
0
,
n
,
f
) is non
empty
Element
of
K18
( the
carrier
of (
0
,
n
,
f
))
K18
( the
carrier
of (
0
,
n
,
f
)) is
set
the
ResultSort
of (
0
,
n
,
f
) is
Relation-like
Function-like
V27
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
))
Element
of
K18
(
K19
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
)))
the
carrier'
of (
0
,
n
,
f
) is non
empty
set
K19
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
))) is
set
K547
( the
carrier
of (
0
,
n
,
f
), the
ResultSort
of (
0
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
0
,
n
,
f
))
(
0
,
n
,
f
)
`1
is
set
(
0
,
n
,
f
)
`2
is
set
proj1
(
(
0
,
n
,
f
)
`2
)
is
set
card
(
(
0
,
n
,
f
)
`1
)
is
V9
()
V10
()
V11
()
cardinal
set
g
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
(
g
,
n
,
f
) is non
empty
pair
Element
of
InnerVertices
(
g
,
n
,
f
)
(
g
,
n
,
f
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
g
,
n
,
f
) is non
empty
set
InnerVertices
(
g
,
n
,
f
) is non
empty
Element
of
K18
( the
carrier
of (
g
,
n
,
f
))
K18
( the
carrier
of (
g
,
n
,
f
)) is
set
the
ResultSort
of (
g
,
n
,
f
) is
Relation-like
Function-like
V27
( the
carrier'
of (
g
,
n
,
f
), the
carrier
of (
g
,
n
,
f
))
Element
of
K18
(
K19
( the
carrier'
of (
g
,
n
,
f
), the
carrier
of (
g
,
n
,
f
)))
the
carrier'
of (
g
,
n
,
f
) is non
empty
set
K19
( the
carrier'
of (
g
,
n
,
f
), the
carrier
of (
g
,
n
,
f
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
g
,
n
,
f
), the
carrier
of (
g
,
n
,
f
))) is
set
K547
( the
carrier
of (
g
,
n
,
f
), the
ResultSort
of (
g
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
g
,
n
,
f
))
(
g
,
n
,
f
)
`1
is
set
(
g
,
n
,
f
)
`2
is
set
proj1
(
(
g
,
n
,
f
)
`2
)
is
set
card
(
(
g
,
n
,
f
)
`1
)
is
V9
()
V10
()
V11
()
cardinal
set
g
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
(
(
g
+
1
)
,
n
,
f
) is non
empty
pair
Element
of
InnerVertices
(
(
g
+
1
)
,
n
,
f
)
(
(
g
+
1
)
,
n
,
f
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
(
g
+
1
)
,
n
,
f
) is non
empty
set
InnerVertices
(
(
g
+
1
)
,
n
,
f
) is non
empty
Element
of
K18
( the
carrier
of (
(
g
+
1
)
,
n
,
f
))
K18
( the
carrier
of (
(
g
+
1
)
,
n
,
f
)) is
set
the
ResultSort
of (
(
g
+
1
)
,
n
,
f
) is
Relation-like
Function-like
V27
( the
carrier'
of (
(
g
+
1
)
,
n
,
f
), the
carrier
of (
(
g
+
1
)
,
n
,
f
))
Element
of
K18
(
K19
( the
carrier'
of (
(
g
+
1
)
,
n
,
f
), the
carrier
of (
(
g
+
1
)
,
n
,
f
)))
the
carrier'
of (
(
g
+
1
)
,
n
,
f
) is non
empty
set
K19
( the
carrier'
of (
(
g
+
1
)
,
n
,
f
), the
carrier
of (
(
g
+
1
)
,
n
,
f
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
(
g
+
1
)
,
n
,
f
), the
carrier
of (
(
g
+
1
)
,
n
,
f
))) is
set
K547
( the
carrier
of (
(
g
+
1
)
,
n
,
f
), the
ResultSort
of (
(
g
+
1
)
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
(
g
+
1
)
,
n
,
f
))
n
.
(
g
+
1
)
is
set
f
.
(
g
+
1
)
is
set
BorrowOutput
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)) is
Element
of
InnerVertices
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
,
and2a
}
,
{
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2
]
is non
empty
pair
set
{
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2
}
,
{
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2a
}
,
{
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2
]
,
[
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2
]
,
[
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2
]
,
[
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
is non
empty
set
InnerVertices
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
)
K18
( the
carrier
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
) is
set
the
ResultSort
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
))
the
carrier'
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
, the
ResultSort
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
))
)
)
[
<*
[
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2
]
,
[
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2
]
,
[
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2
]
,
[
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2
]
,
[
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
(
n
.
(
g
+
1
)
)
,
(
f
.
(
g
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2
]
,
[
<*
(
n
.
(
g
+
1
)
)
,(
g
,
n
,
f
)
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
proj1
or3
is
set
(
(
g
+
1
)
,
n
,
f
)
`1
is
set
(
(
g
+
1
)
,
n
,
f
)
`2
is
set
proj1
(
(
(
g
+
1
)
,
n
,
f
)
`2
)
is
set
card
(
(
(
g
+
1
)
,
n
,
f
)
`1
)
is
V9
()
V10
()
V11
()
cardinal
set
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
f
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
g
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
(
n
,
f
,
g
) is non
empty
pair
Element
of
InnerVertices
(
n
,
f
,
g
)
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
n
,
f
,
g
) is non
empty
set
InnerVertices
(
n
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
K18
( the
carrier
of (
n
,
f
,
g
)) is
set
the
ResultSort
of (
n
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)))
the
carrier'
of (
n
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))) is
set
K547
( the
carrier
of (
n
,
f
,
g
), the
ResultSort
of (
n
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
S0
is
set
[
S0
,
and2
]
is non
empty
pair
set
{
S0
,
and2
}
is non
empty
V36
()
V51
()
set
{
S0
}
is non
empty
V2
()
V36
() 1
-element
V51
()
set
{
{
S0
,
and2
}
,
{
S0
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
S0
,
and2a
]
is non
empty
pair
set
{
S0
,
and2a
}
is non
empty
V36
()
V51
()
set
{
{
S0
,
and2a
}
,
{
S0
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
S0
,
'xor'
]
is non
empty
pair
set
{
S0
,
'xor'
}
is non
empty
V36
()
V51
()
set
{
{
S0
,
'xor'
}
,
{
S0
}
}
is non
empty
V36
()
V40
()
V51
()
set
proj1
and2
is
set
proj1
and2a
is
set
proj1
'xor'
is
set
[
S0
,
and2
]
`2
is
set
proj1
(
[
S0
,
and2
]
`2
)
is
set
[
S0
,
and2a
]
`2
is
set
proj1
(
[
S0
,
and2a
]
`2
)
is
set
[
S0
,
'xor'
]
`2
is
set
proj1
(
[
S0
,
'xor'
]
`2
)
is
set
(
n
,
f
,
g
)
`2
is
set
proj1
(
(
n
,
f
,
g
)
`2
)
is
set
n
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
f
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
g
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
(
0
,
n
,
f
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
H
1
(
0
) is non
empty
Element
of
K18
( the
carrier
of
H
1
(
0
))
the
carrier
of
H
1
(
0
) is non
empty
set
K18
( the
carrier
of
H
1
(
0
)) is
set
the
carrier
of (
0
,
n
,
f
) is non
empty
set
the
ResultSort
of (
0
,
n
,
f
) is
Relation-like
Function-like
V27
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
))
Element
of
K18
(
K19
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
)))
the
carrier'
of (
0
,
n
,
f
) is non
empty
set
K19
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
))) is
set
K547
( the
carrier
of (
0
,
n
,
f
), the
ResultSort
of (
0
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
0
,
n
,
f
))
K18
( the
carrier
of (
0
,
n
,
f
)) is
set
InputVertices
H
1
(
0
) is
Element
of
K18
( the
carrier
of
H
1
(
0
))
the
carrier
of (
0
,
n
,
f
)
\
K547
( the
carrier
of (
0
,
n
,
f
), the
ResultSort
of (
0
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
0
,
n
,
f
))
g
.
0
is
set
(
0
,
n
,
f
) is non
empty
pair
Element
of
InnerVertices
(
0
,
n
,
f
)
InnerVertices
(
0
,
n
,
f
) is non
empty
Element
of
K18
( the
carrier
of (
0
,
n
,
f
))
A0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
A0
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
n
.
(
A0
+
1
)
is non
pair
set
f
.
(
A0
+
1
)
is non
pair
set
N
is
set
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
N
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
N
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
N
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
]
is non
empty
pair
set
{
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
}
,
{
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
,
'xor'
)
)
+*
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
)
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
is non
empty
set
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
) is
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
)
N
is
set
A0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
g
.
A0
is
set
(
A0
,
n
,
f
) is non
empty
pair
Element
of
InnerVertices
(
A0
,
n
,
f
)
(
A0
,
n
,
f
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
A0
,
n
,
f
) is non
empty
set
InnerVertices
(
A0
,
n
,
f
) is non
empty
Element
of
K18
( the
carrier
of (
A0
,
n
,
f
))
K18
( the
carrier
of (
A0
,
n
,
f
)) is
set
the
ResultSort
of (
A0
,
n
,
f
) is
Relation-like
Function-like
V27
( the
carrier'
of (
A0
,
n
,
f
), the
carrier
of (
A0
,
n
,
f
))
Element
of
K18
(
K19
( the
carrier'
of (
A0
,
n
,
f
), the
carrier
of (
A0
,
n
,
f
)))
the
carrier'
of (
A0
,
n
,
f
) is non
empty
set
K19
( the
carrier'
of (
A0
,
n
,
f
), the
carrier
of (
A0
,
n
,
f
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
A0
,
n
,
f
), the
carrier
of (
A0
,
n
,
f
))) is
set
K547
( the
carrier
of (
A0
,
n
,
f
), the
ResultSort
of (
A0
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
A0
,
n
,
f
))
A0
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
n
.
(
A0
+
1
)
is non
pair
set
f
.
(
A0
+
1
)
is non
pair
set
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
A0
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
n
.
(
A0
+
1
)
is non
pair
set
f
.
(
A0
+
1
)
is non
pair
set
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
N
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
N
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
N
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
]
is non
empty
pair
set
{
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
}
,
{
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
,
'xor'
)
)
+*
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InputVertices
H
2
(
N
,
A0
) is
Element
of
K18
( the
carrier
of
H
2
(
N
,
A0
))
the
carrier
of
H
2
(
N
,
A0
) is non
empty
set
K18
( the
carrier
of
H
2
(
N
,
A0
)) is
set
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
is non
empty
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
)
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
) is
set
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
\
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
)
{
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
}
is
V36
()
V51
()
set
A0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
g
.
A0
is
set
A0
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
n
.
(
A0
+
1
)
is non
pair
set
f
.
(
A0
+
1
)
is non
pair
set
N
is
set
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
N
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
N
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
N
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
]
is non
empty
pair
set
{
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
}
,
{
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
N
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
N
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
,
'xor'
)
)
+*
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
H
2
(
N
,
A0
) is non
empty
set
InputVertices
H
2
(
N
,
A0
) is
Element
of
K18
( the
carrier
of
H
2
(
N
,
A0
))
K18
( the
carrier
of
H
2
(
N
,
A0
)) is
set
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
is non
empty
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
)
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
) is
set
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
\
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
)
)
)
{
N
}
is non
empty
V2
()
V36
() 1
-element
V51
()
set
(
InputVertices
H
2
(
N
,
A0
)
)
\
{
N
}
is
Element
of
K18
( the
carrier
of
H
2
(
N
,
A0
))
{
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
N
}
is
V36
()
V51
()
set
h
is non
empty
pair
set
A0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
N
is non
empty
V71
()
ManySortedSign
(
A0
,
n
,
f
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
h
is
set
g
.
A0
is
set
(
A0
,
n
,
f
) is
Element
of
InnerVertices
(
A0
,
n
,
f
)
the
carrier
of (
A0
,
n
,
f
) is non
empty
set
InnerVertices
(
A0
,
n
,
f
) is non
empty
Element
of
K18
( the
carrier
of (
A0
,
n
,
f
))
K18
( the
carrier
of (
A0
,
n
,
f
)) is
set
the
ResultSort
of (
A0
,
n
,
f
) is
Relation-like
Function-like
V27
( the
carrier'
of (
A0
,
n
,
f
), the
carrier
of (
A0
,
n
,
f
))
Element
of
K18
(
K19
( the
carrier'
of (
A0
,
n
,
f
), the
carrier
of (
A0
,
n
,
f
)))
the
carrier'
of (
A0
,
n
,
f
) is non
empty
set
K19
( the
carrier'
of (
A0
,
n
,
f
), the
carrier
of (
A0
,
n
,
f
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
A0
,
n
,
f
), the
carrier
of (
A0
,
n
,
f
))) is
set
K547
( the
carrier
of (
A0
,
n
,
f
), the
ResultSort
of (
A0
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
A0
,
n
,
f
))
A0
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
g
.
(
A0
+
1
)
is
set
(
(
A0
+
1
)
,
n
,
f
) is non
empty
pair
Element
of
InnerVertices
(
(
A0
+
1
)
,
n
,
f
)
(
(
A0
+
1
)
,
n
,
f
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
(
A0
+
1
)
,
n
,
f
) is non
empty
set
InnerVertices
(
(
A0
+
1
)
,
n
,
f
) is non
empty
Element
of
K18
( the
carrier
of (
(
A0
+
1
)
,
n
,
f
))
K18
( the
carrier
of (
(
A0
+
1
)
,
n
,
f
)) is
set
the
ResultSort
of (
(
A0
+
1
)
,
n
,
f
) is
Relation-like
Function-like
V27
( the
carrier'
of (
(
A0
+
1
)
,
n
,
f
), the
carrier
of (
(
A0
+
1
)
,
n
,
f
))
Element
of
K18
(
K19
( the
carrier'
of (
(
A0
+
1
)
,
n
,
f
), the
carrier
of (
(
A0
+
1
)
,
n
,
f
)))
the
carrier'
of (
(
A0
+
1
)
,
n
,
f
) is non
empty
set
K19
( the
carrier'
of (
(
A0
+
1
)
,
n
,
f
), the
carrier
of (
(
A0
+
1
)
,
n
,
f
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
(
A0
+
1
)
,
n
,
f
), the
carrier
of (
(
A0
+
1
)
,
n
,
f
))) is
set
K547
( the
carrier
of (
(
A0
+
1
)
,
n
,
f
), the
ResultSort
of (
(
A0
+
1
)
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
(
A0
+
1
)
,
n
,
f
))
n
.
(
A0
+
1
)
is non
pair
set
f
.
(
A0
+
1
)
is non
pair
set
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
h
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
h
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
h
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
]
is non
empty
pair
set
{
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
}
,
{
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
+*
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
N
+*
H
2
(
h
,
A0
) is non
empty
non
void
V71
()
strict
ManySortedSign
BorrowOutput
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
) is
Element
of
InnerVertices
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
the
carrier
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
is non
empty
set
InnerVertices
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
))
the
carrier'
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
, the
carrier
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
, the
ResultSort
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
)
[
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
InputVertices
H
2
(
h
,
A0
) is
Element
of
K18
( the
carrier
of
H
2
(
h
,
A0
))
the
carrier
of
H
2
(
h
,
A0
) is non
empty
set
K18
( the
carrier
of
H
2
(
h
,
A0
)) is
set
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
is non
empty
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
)
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
) is
set
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
\
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
)
{
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
}
is
V36
()
V51
()
set
InnerVertices
H
2
(
h
,
A0
) is non
empty
Element
of
K18
( the
carrier
of
H
2
(
h
,
A0
))
2GatesCircOutput
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
) is non
empty
pair
Element
of
InnerVertices
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
the
carrier
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
is non
empty
set
InnerVertices
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
)
K18
( the
carrier
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
) is
set
the
ResultSort
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
))
the
carrier'
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
is non
empty
set
K19
( the
carrier'
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
)) is
set
K547
( the
carrier
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
, the
ResultSort
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
) is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
)
[
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
h
*>
,
'xor'
]
is non
empty
pair
set
{
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
h
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
h
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
h
*>
,
'xor'
}
,
{
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
h
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
{
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
(
2GatesCircOutput
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
}
is non
empty
Relation-like
V36
()
V51
()
set
{
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
]
}
is
Relation-like
V36
()
V51
()
set
{
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
(
2GatesCircOutput
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
}
\/
{
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
]
}
is non
empty
Relation-like
V36
()
V51
()
set
{
(
BorrowOutput
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
}
is non
empty
V2
()
V36
() 1
-element
V51
()
set
(
{
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,
(
2GatesCircOutput
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
,
'xor'
)
)
}
\/
{
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,
h
*>
,
and2a
]
}
)
\/
{
(
BorrowOutput
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,
h
)
)
}
is non
empty
V36
()
V51
()
set
{
H
5
(
h
,
A0
)
}
is non
empty
V2
()
V36
() 1
-element
V51
()
set
A0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
A0
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
(
(
A0
+
1
)
,
n
,
f
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InputVertices
(
(
A0
+
1
)
,
n
,
f
) is
Element
of
K18
( the
carrier
of (
(
A0
+
1
)
,
n
,
f
))
the
carrier
of (
(
A0
+
1
)
,
n
,
f
) is non
empty
set
K18
( the
carrier
of (
(
A0
+
1
)
,
n
,
f
)) is
set
the
ResultSort
of (
(
A0
+
1
)
,
n
,
f
) is
Relation-like
Function-like
V27
( the
carrier'
of (
(
A0
+
1
)
,
n
,
f
), the
carrier
of (
(
A0
+
1
)
,
n
,
f
))
Element
of
K18
(
K19
( the
carrier'
of (
(
A0
+
1
)
,
n
,
f
), the
carrier
of (
(
A0
+
1
)
,
n
,
f
)))
the
carrier'
of (
(
A0
+
1
)
,
n
,
f
) is non
empty
set
K19
( the
carrier'
of (
(
A0
+
1
)
,
n
,
f
), the
carrier
of (
(
A0
+
1
)
,
n
,
f
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
(
A0
+
1
)
,
n
,
f
), the
carrier
of (
(
A0
+
1
)
,
n
,
f
))) is
set
K547
( the
carrier
of (
(
A0
+
1
)
,
n
,
f
), the
ResultSort
of (
(
A0
+
1
)
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
(
A0
+
1
)
,
n
,
f
))
the
carrier
of (
(
A0
+
1
)
,
n
,
f
)
\
K547
( the
carrier
of (
(
A0
+
1
)
,
n
,
f
), the
ResultSort
of (
(
A0
+
1
)
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
(
A0
+
1
)
,
n
,
f
))
(
A0
,
n
,
f
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InputVertices
(
A0
,
n
,
f
) is
Element
of
K18
( the
carrier
of (
A0
,
n
,
f
))
the
carrier
of (
A0
,
n
,
f
) is non
empty
set
K18
( the
carrier
of (
A0
,
n
,
f
)) is
set
the
ResultSort
of (
A0
,
n
,
f
) is
Relation-like
Function-like
V27
( the
carrier'
of (
A0
,
n
,
f
), the
carrier
of (
A0
,
n
,
f
))
Element
of
K18
(
K19
( the
carrier'
of (
A0
,
n
,
f
), the
carrier
of (
A0
,
n
,
f
)))
the
carrier'
of (
A0
,
n
,
f
) is non
empty
set
K19
( the
carrier'
of (
A0
,
n
,
f
), the
carrier
of (
A0
,
n
,
f
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
A0
,
n
,
f
), the
carrier
of (
A0
,
n
,
f
))) is
set
K547
( the
carrier
of (
A0
,
n
,
f
), the
ResultSort
of (
A0
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
A0
,
n
,
f
))
the
carrier
of (
A0
,
n
,
f
)
\
K547
( the
carrier
of (
A0
,
n
,
f
), the
ResultSort
of (
A0
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
A0
,
n
,
f
))
n
.
(
A0
+
1
)
is non
pair
set
f
.
(
A0
+
1
)
is non
pair
set
(
A0
,
n
,
f
) is non
empty
pair
Element
of
InnerVertices
(
A0
,
n
,
f
)
InnerVertices
(
A0
,
n
,
f
) is non
empty
Element
of
K18
( the
carrier
of (
A0
,
n
,
f
))
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
),
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,(
A0
,
n
,
f
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,(
A0
,
n
,
f
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
'xor'
]
,(
A0
,
n
,
f
)
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
n
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
n
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2
]
is non
empty
pair
set
{
<*
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2
}
,
{
<*
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
n
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
n
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
n
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
n
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2a
}
,
{
<*
(
n
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
+*
(
1GateCircStr
(
<*
[
<*
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
*>
,
and2a
]
,
[
<*
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2
]
,
[
<*
(
n
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
),
'xor'
)
)
+*
(
BorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
is non
empty
set
InputVertices
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
)
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
) is
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
)
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
\
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
)
{
(
A0
,
n
,
f
)
}
is non
empty
V2
()
Relation-like
V36
() 1
-element
V51
()
set
(
InputVertices
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
)
\
{
(
A0
,
n
,
f
)
}
is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
)
(
InputVertices
(
A0
,
n
,
f
)
)
\/
(
(
InputVertices
(
BitSubtracterWithBorrowStr
(
(
n
.
(
A0
+
1
)
)
,
(
f
.
(
A0
+
1
)
)
,(
A0
,
n
,
f
))
)
)
\
{
(
A0
,
n
,
f
)
}
)
is
set
g
.
A0
is
set
n
is
empty
Relation-like
non-empty
empty-yielding
NAT
-defined
V9
()
V10
()
V11
()
V13
()
V14
()
V15
()
Function-like
one-to-one
constant
functional
non
pair
V30
()
V31
()
V36
()
V37
()
V40
()
cardinal
0
-element
FinSequence-like
FinSubsequence-like
FinSequence-membered
V48
()
V49
()
V51
() non
with_pair
nonpair-yielding
ext-real
non
positive
non
negative
set
f
is
empty
Relation-like
non-empty
empty-yielding
NAT
-defined
V9
()
V10
()
V11
()
V13
()
V14
()
V15
()
Function-like
one-to-one
constant
functional
non
pair
V30
()
V31
()
V36
()
V37
()
V40
()
cardinal
0
-element
FinSequence-like
FinSubsequence-like
FinSequence-membered
V48
()
V49
()
V51
() non
with_pair
nonpair-yielding
ext-real
non
positive
non
negative
set
(
0
,
n
,
f
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InputVertices
(
0
,
n
,
f
) is
Element
of
K18
( the
carrier
of (
0
,
n
,
f
))
the
carrier
of (
0
,
n
,
f
) is non
empty
set
K18
( the
carrier
of (
0
,
n
,
f
)) is
set
the
ResultSort
of (
0
,
n
,
f
) is
Relation-like
Function-like
V27
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
))
Element
of
K18
(
K19
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
)))
the
carrier'
of (
0
,
n
,
f
) is non
empty
set
K19
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
0
,
n
,
f
), the
carrier
of (
0
,
n
,
f
))) is
set
K547
( the
carrier
of (
0
,
n
,
f
), the
ResultSort
of (
0
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
0
,
n
,
f
))
the
carrier
of (
0
,
n
,
f
)
\
K547
( the
carrier
of (
0
,
n
,
f
), the
ResultSort
of (
0
,
n
,
f
)) is
Element
of
K18
( the
carrier
of (
0
,
n
,
f
))
proj2
n
is
empty
V2
()
Relation-like
non-empty
empty-yielding
NAT
-defined
V9
()
V10
()
V11
()
V13
()
V14
()
V15
()
Function-like
one-to-one
constant
functional
non
pair
V30
()
V31
()
V36
()
V37
()
V40
()
cardinal
{}
-element
FinSequence-like
FinSubsequence-like
FinSequence-membered
V48
()
V49
()
V51
() non
with_pair
nonpair-yielding
ext-real
non
positive
non
negative
set
proj2
f
is
empty
V2
()
Relation-like
non-empty
empty-yielding
NAT
-defined
V9
()
V10
()
V11
()
V13
()
V14
()
V15
()
Function-like
one-to-one
constant
functional
non
pair
V30
()
V31
()
V36
()
V37
()
V40
()
cardinal
{}
-element
FinSequence-like
FinSubsequence-like
FinSequence-membered
V48
()
V49
()
V51
() non
with_pair
nonpair-yielding
ext-real
non
positive
non
negative
set
(
proj2
n
)
\/
(
proj2
f
)
is
empty
Relation-like
non-empty
empty-yielding
NAT
-defined
V9
()
V10
()
V11
()
V13
()
V14
()
V15
()
Function-like
one-to-one
constant
functional
non
pair
V30
()
V31
()
V36
()
V37
()
V40
()
cardinal
{}
-element
FinSequence-like
FinSubsequence-like
FinSequence-membered
V48
()
V49
()
V51
() non
with_pair
nonpair-yielding
ext-real
non
positive
non
negative
set
proj2
{}
is
empty
V2
()
Relation-like
non-empty
empty-yielding
NAT
-defined
V9
()
V10
()
V11
()
V13
()
V14
()
V15
()
Function-like
one-to-one
constant
functional
non
pair
V30
()
V31
()
V36
()
V37
()
V40
()
cardinal
{}
-element
FinSequence-like
FinSubsequence-like
FinSequence-membered
V48
()
V49
()
V51
() non
with_pair
nonpair-yielding
ext-real
non
positive
non
negative
set
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
n
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
is
Relation-like
NAT
-defined
Function-like
V36
()
n
+
1
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
g
is
Relation-like
NAT
-defined
Function-like
V36
()
n
+
1
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
(
(
n
+
1
)
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InputVertices
(
(
n
+
1
)
,
f
,
g
) is
Element
of
K18
( the
carrier
of (
(
n
+
1
)
,
f
,
g
))
the
carrier
of (
(
n
+
1
)
,
f
,
g
) is non
empty
set
K18
( the
carrier
of (
(
n
+
1
)
,
f
,
g
)) is
set
the
ResultSort
of (
(
n
+
1
)
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
)))
the
carrier'
of (
(
n
+
1
)
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
))) is
set
K547
( the
carrier
of (
(
n
+
1
)
,
f
,
g
), the
ResultSort
of (
(
n
+
1
)
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
(
n
+
1
)
,
f
,
g
))
the
carrier
of (
(
n
+
1
)
,
f
,
g
)
\
K547
( the
carrier
of (
(
n
+
1
)
,
f
,
g
), the
ResultSort
of (
(
n
+
1
)
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
(
n
+
1
)
,
f
,
g
))
proj2
f
is
V36
()
V51
() non
with_pair
set
proj2
g
is
V36
()
V51
() non
with_pair
set
(
proj2
f
)
\/
(
proj2
g
)
is
V36
()
V51
() non
with_pair
set
S0
is
Relation-like
NAT
-defined
Function-like
V36
()
n
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
A0
is non
pair
set
<*
A0
*>
is non
empty
V2
()
Relation-like
NAT
-defined
Function-like
constant
V36
() 1
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
S0
^
<*
A0
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
()
n
+
1
-element
FinSequence-like
FinSubsequence-like
V51
()
set
n
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
N
is
Relation-like
NAT
-defined
Function-like
V36
()
n
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
h
is non
pair
set
<*
h
*>
is non
empty
V2
()
Relation-like
NAT
-defined
Function-like
constant
V36
() 1
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
N
^
<*
h
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
()
n
+
1
-element
FinSequence-like
FinSubsequence-like
V51
()
set
dom
<*
A0
*>
is non
empty
V2
()
V36
() 1
-element
V51
()
Element
of
K18
(
NAT
)
len
S0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
f
.
(
n
+
1
)
is non
pair
set
<*
A0
*>
.
1 is non
pair
set
dom
<*
h
*>
is non
empty
V2
()
V36
() 1
-element
V51
()
Element
of
K18
(
NAT
)
len
N
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
g
.
(
n
+
1
)
is non
pair
set
<*
h
*>
.
1 is non
pair
set
(
n
,
f
,
g
) is non
empty
pair
Element
of
InnerVertices
(
n
,
f
,
g
)
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
n
,
f
,
g
) is non
empty
set
InnerVertices
(
n
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
K18
( the
carrier
of (
n
,
f
,
g
)) is
set
the
ResultSort
of (
n
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)))
the
carrier'
of (
n
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))) is
set
K547
( the
carrier
of (
n
,
f
,
g
), the
ResultSort
of (
n
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
{
A0
,
h
,(
n
,
f
,
g
)
}
is
V36
()
V51
()
set
{
(
n
,
f
,
g
),
A0
,
h
}
is
V36
()
V51
()
set
proj2
S0
is
V36
()
V51
() non
with_pair
set
proj2
<*
A0
*>
is non
empty
V2
()
V36
() 1
-element
V51
() non
with_pair
set
(
proj2
S0
)
\/
(
proj2
<*
A0
*>
)
is non
empty
V36
()
V51
() non
with_pair
set
{
A0
}
is non
empty
V2
()
V36
() 1
-element
V51
() non
with_pair
set
(
proj2
S0
)
\/
{
A0
}
is non
empty
V36
()
V51
() non
with_pair
set
proj2
N
is
V36
()
V51
() non
with_pair
set
proj2
<*
h
*>
is non
empty
V2
()
V36
() 1
-element
V51
() non
with_pair
set
(
proj2
N
)
\/
(
proj2
<*
h
*>
)
is non
empty
V36
()
V51
() non
with_pair
set
{
h
}
is non
empty
V2
()
V36
() 1
-element
V51
() non
with_pair
set
(
proj2
N
)
\/
{
h
}
is non
empty
V36
()
V51
() non
with_pair
set
<*
A0
,
h
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
[
<*
A0
,
h
*>
,
and2a
]
is non
empty
pair
set
{
<*
A0
,
h
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
A0
,
h
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
A0
,
h
*>
,
and2a
}
,
{
<*
A0
,
h
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
A0
,
h
*>
,
'xor'
]
is non
empty
pair
set
{
<*
A0
,
h
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
A0
,
h
*>
,
'xor'
}
,
{
<*
A0
,
h
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
S0
^
{}
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
N
^
{}
is
Relation-like
NAT
-defined
Function-like
V36
()
FinSequence-like
FinSubsequence-like
V51
()
set
(
n
,
S0
,
N
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InputVertices
(
n
,
S0
,
N
) is
Element
of
K18
( the
carrier
of (
n
,
S0
,
N
))
the
carrier
of (
n
,
S0
,
N
) is non
empty
set
K18
( the
carrier
of (
n
,
S0
,
N
)) is
set
the
ResultSort
of (
n
,
S0
,
N
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
S0
,
N
), the
carrier
of (
n
,
S0
,
N
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
S0
,
N
), the
carrier
of (
n
,
S0
,
N
)))
the
carrier'
of (
n
,
S0
,
N
) is non
empty
set
K19
( the
carrier'
of (
n
,
S0
,
N
), the
carrier
of (
n
,
S0
,
N
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
S0
,
N
), the
carrier
of (
n
,
S0
,
N
))) is
set
K547
( the
carrier
of (
n
,
S0
,
N
), the
ResultSort
of (
n
,
S0
,
N
)) is
Element
of
K18
( the
carrier
of (
n
,
S0
,
N
))
the
carrier
of (
n
,
S0
,
N
)
\
K547
( the
carrier
of (
n
,
S0
,
N
), the
ResultSort
of (
n
,
S0
,
N
)) is
Element
of
K18
( the
carrier
of (
n
,
S0
,
N
))
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
A0
,
h
,(
n
,
f
,
g
),
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
A0
,
h
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
[
<*
A0
,
h
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
A0
,
h
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
A0
,
h
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
A0
,
h
*>
,
'xor'
]
,(
n
,
f
,
g
)
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
A0
,
h
,(
n
,
f
,
g
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
A0
,
h
,(
n
,
f
,
g
)) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
A0
,
h
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
h
,(
n
,
f
,
g
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
h
,(
n
,
f
,
g
)
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
A0
,
h
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
h
,(
n
,
f
,
g
)
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
A0
,(
n
,
f
,
g
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
A0
,(
n
,
f
,
g
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
A0
,
h
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
h
,(
n
,
f
,
g
)
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
A0
,(
n
,
f
,
g
)
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
h
,(
n
,
f
,
g
)
*>
,
and2
]
is non
empty
pair
set
{
<*
h
,(
n
,
f
,
g
)
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
h
,(
n
,
f
,
g
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
h
,(
n
,
f
,
g
)
*>
,
and2
}
,
{
<*
h
,(
n
,
f
,
g
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
A0
,(
n
,
f
,
g
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
A0
,(
n
,
f
,
g
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
A0
,(
n
,
f
,
g
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
A0
,(
n
,
f
,
g
)
*>
,
and2a
}
,
{
<*
A0
,(
n
,
f
,
g
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
A0
,
h
*>
,
and2a
]
,
[
<*
h
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
A0
,
h
*>
,
and2a
]
,
[
<*
h
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
A0
,
h
,(
n
,
f
,
g
))
)
+*
(
1GateCircStr
(
<*
[
<*
A0
,
h
*>
,
and2a
]
,
[
<*
h
,(
n
,
f
,
g
)
*>
,
and2
]
,
[
<*
A0
,(
n
,
f
,
g
)
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
A0
,
h
,(
n
,
f
,
g
),
'xor'
)
)
+*
(
BorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
is non
empty
set
InputVertices
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
)
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
) is
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
)
the
carrier
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
\
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
)
{
(
n
,
f
,
g
)
}
is non
empty
V2
()
Relation-like
V36
() 1
-element
V51
()
set
(
InputVertices
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
)
\
{
(
n
,
f
,
g
)
}
is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
)
(
InputVertices
(
n
,
S0
,
N
)
)
\/
(
(
InputVertices
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
)
\
{
(
n
,
f
,
g
)
}
)
is
set
(
proj2
S0
)
\/
(
proj2
N
)
is
V36
()
V51
() non
with_pair
set
(
(
proj2
S0
)
\/
(
proj2
N
)
)
\/
(
(
InputVertices
(
BitSubtracterWithBorrowStr
(
A0
,
h
,(
n
,
f
,
g
))
)
)
\
{
(
n
,
f
,
g
)
}
)
is
set
{
A0
,
h
,(
n
,
f
,
g
)
}
\
{
(
n
,
f
,
g
)
}
is
V36
()
V51
()
Element
of
K18
(
{
A0
,
h
,(
n
,
f
,
g
)
}
)
K18
(
{
A0
,
h
,(
n
,
f
,
g
)
}
) is
V36
()
V40
()
V51
()
set
(
(
proj2
S0
)
\/
(
proj2
N
)
)
\/
(
{
A0
,
h
,(
n
,
f
,
g
)
}
\
{
(
n
,
f
,
g
)
}
)
is
V36
()
V51
()
set
{
A0
,
h
}
is non
empty
V36
()
V51
() non
with_pair
set
(
(
proj2
S0
)
\/
(
proj2
N
)
)
\/
{
A0
,
h
}
is non
empty
V36
()
V51
() non
with_pair
set
{
A0
}
\/
{
h
}
is non
empty
V36
()
V51
() non
with_pair
set
(
(
proj2
S0
)
\/
(
proj2
N
)
)
\/
(
{
A0
}
\/
{
h
}
)
is non
empty
V36
()
V51
() non
with_pair
set
(
(
proj2
S0
)
\/
(
proj2
N
)
)
\/
{
A0
}
is non
empty
V36
()
V51
() non
with_pair
set
(
(
(
proj2
S0
)
\/
(
proj2
N
)
)
\/
{
A0
}
)
\/
{
h
}
is non
empty
V36
()
V51
() non
with_pair
set
(
(
proj2
S0
)
\/
{
A0
}
)
\/
(
proj2
N
)
is non
empty
V36
()
V51
() non
with_pair
set
(
(
(
proj2
S0
)
\/
{
A0
}
)
\/
(
proj2
N
)
)
\/
{
h
}
is non
empty
V36
()
V51
() non
with_pair
set
n
is
set
f
is
set
g
is
set
BorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
n
,
f
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
n
,
f
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
f
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
f
,
g
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
n
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
n
,
g
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
n
,
f
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
f
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
f
*>
,
and2a
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
f
,
g
*>
,
and2
]
is non
empty
pair
set
{
<*
f
,
g
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
f
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
f
,
g
*>
,
and2
}
,
{
<*
f
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
n
,
g
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
g
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
g
*>
,
and2a
}
,
{
<*
n
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowCirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
n
,
f
,
g
)
BorrowICirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
n
,
f
,
g
)
1GateCircuit
(
n
,
f
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
1GateCircuit
(
<*
n
,
f
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
1GateCircuit
(
f
,
g
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
1GateCircuit
(
<*
f
,
g
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
(
1GateCircuit
(
n
,
f
,
and2a
)
)
+*
(
1GateCircuit
(
f
,
g
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
1GateCircuit
(
n
,
g
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
1GateCircuit
(
<*
n
,
g
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
(
(
1GateCircuit
(
n
,
f
,
and2a
)
)
+*
(
1GateCircuit
(
f
,
g
,
and2
)
)
)
+*
(
1GateCircuit
(
n
,
g
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
1GateCircuit
(
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
n
,
f
,
g
)
)
+*
(
1GateCircuit
(
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
is
Relation-like
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
-defined
Function-like
V23
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
set
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
) is
functional
V49
()
V50
()
set
S0
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
S0
.
n
is
set
S0
.
f
is
set
S0
.
g
is
set
Following
S0
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
(
Following
S0
)
.
[
<*
n
,
f
*>
,
and2a
]
is
set
(
Following
S0
)
.
[
<*
f
,
g
*>
,
and2
]
is
set
(
Following
S0
)
.
[
<*
n
,
g
*>
,
and2a
]
is
set
A0
is
boolean
Element
of
BOOLEAN
N
is
boolean
Element
of
BOOLEAN
h
is
boolean
Element
of
BOOLEAN
'not'
A0
is
boolean
Element
of
BOOLEAN
(
'not'
A0
)
'&'
N
is
boolean
Element
of
BOOLEAN
N
'&'
h
is
boolean
Element
of
BOOLEAN
(
'not'
A0
)
'&'
h
is
boolean
Element
of
BOOLEAN
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
proj1
S0
is
set
<*
n
,
f
*>
*
S0
is
Relation-like
NAT
-defined
Function-like
V36
()
V51
()
set
and2a
.
(
<*
n
,
f
*>
*
S0
)
is
boolean
set
<*
A0
,
N
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
and2a
.
<*
A0
,
N
*>
is
boolean
set
<*
f
,
g
*>
*
S0
is
Relation-like
NAT
-defined
Function-like
V36
()
V51
()
set
and2
.
(
<*
f
,
g
*>
*
S0
)
is
boolean
set
<*
N
,
h
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
and2
.
<*
N
,
h
*>
is
boolean
set
<*
n
,
g
*>
*
S0
is
Relation-like
NAT
-defined
Function-like
V36
()
V51
()
set
and2a
.
(
<*
n
,
g
*>
*
S0
)
is
boolean
set
<*
A0
,
h
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
and2a
.
<*
A0
,
h
*>
is
boolean
set
n
is
set
f
is
set
g
is
set
BorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
n
,
f
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
n
,
f
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
f
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
f
,
g
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
n
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
n
,
g
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
n
,
f
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
f
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
f
*>
,
and2a
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
f
,
g
*>
,
and2
]
is non
empty
pair
set
{
<*
f
,
g
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
f
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
f
,
g
*>
,
and2
}
,
{
<*
f
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
n
,
g
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
g
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
g
*>
,
and2a
}
,
{
<*
n
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowCirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
n
,
f
,
g
)
BorrowICirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
n
,
f
,
g
)
1GateCircuit
(
n
,
f
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
1GateCircuit
(
<*
n
,
f
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
1GateCircuit
(
f
,
g
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
1GateCircuit
(
<*
f
,
g
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
(
1GateCircuit
(
n
,
f
,
and2a
)
)
+*
(
1GateCircuit
(
f
,
g
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
1GateCircuit
(
n
,
g
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
1GateCircuit
(
<*
n
,
g
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
(
(
1GateCircuit
(
n
,
f
,
and2a
)
)
+*
(
1GateCircuit
(
f
,
g
,
and2
)
)
)
+*
(
1GateCircuit
(
n
,
g
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
1GateCircuit
(
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
n
,
f
,
g
)
)
+*
(
1GateCircuit
(
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
is
Relation-like
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
-defined
Function-like
V23
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
set
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
) is
functional
V49
()
V50
()
set
BorrowOutput
(
n
,
f
,
g
) is
Element
of
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
[
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
S0
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
S0
.
[
<*
n
,
f
*>
,
and2a
]
is
set
S0
.
[
<*
f
,
g
*>
,
and2
]
is
set
S0
.
[
<*
n
,
g
*>
,
and2a
]
is
set
Following
S0
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
(
Following
S0
)
.
(
BorrowOutput
(
n
,
f
,
g
)
)
is
boolean
Element
of
BOOLEAN
A0
is
boolean
Element
of
BOOLEAN
N
is
boolean
Element
of
BOOLEAN
h
is
boolean
Element
of
BOOLEAN
A0
'or'
N
is
boolean
Element
of
BOOLEAN
(
A0
'or'
N
)
'or'
h
is
boolean
Element
of
BOOLEAN
proj1
S0
is
set
g1
is
Element
of
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
h1
is
Element
of
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
n
is
Element
of
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
<*
g1
,
h1
,
n
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
<*
g1
,
h1
,
n
*>
*
S0
is
Relation-like
NAT
-defined
Function-like
V36
()
V51
()
set
or3
.
(
<*
g1
,
h1
,
n
*>
*
S0
)
is
boolean
set
<*
A0
,
N
,
h
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
or3
.
<*
A0
,
N
,
h
*>
is
boolean
set
n
is
set
f
is
set
g
is
set
<*
f
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
f
,
g
*>
,
and2
]
is non
empty
pair
set
{
<*
f
,
g
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
f
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
f
,
g
*>
,
and2
}
,
{
<*
f
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
n
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
n
,
g
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
g
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
g
*>
,
and2a
}
,
{
<*
n
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
n
,
f
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
n
,
f
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
f
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
f
*>
,
and2a
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
BorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
f
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
f
,
g
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
g
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowCirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
n
,
f
,
g
)
BorrowICirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
n
,
f
,
g
)
1GateCircuit
(
n
,
f
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
1GateCircuit
(
<*
n
,
f
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
1GateCircuit
(
f
,
g
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
1GateCircuit
(
<*
f
,
g
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
(
1GateCircuit
(
n
,
f
,
and2a
)
)
+*
(
1GateCircuit
(
f
,
g
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
1GateCircuit
(
n
,
g
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
1GateCircuit
(
<*
n
,
g
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
(
(
1GateCircuit
(
n
,
f
,
and2a
)
)
+*
(
1GateCircuit
(
f
,
g
,
and2
)
)
)
+*
(
1GateCircuit
(
n
,
g
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
1GateCircuit
(
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
n
,
f
,
g
)
)
+*
(
1GateCircuit
(
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
is
Relation-like
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
-defined
Function-like
V23
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
set
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
) is
functional
V49
()
V50
()
set
BorrowOutput
(
n
,
f
,
g
) is
Element
of
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
[
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
S0
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
S0
.
n
is
set
S0
.
f
is
set
S0
.
g
is
set
Following
(
S0
,2) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
(
Following
(
S0
,2)
)
.
(
BorrowOutput
(
n
,
f
,
g
)
)
is
boolean
Element
of
BOOLEAN
(
Following
(
S0
,2)
)
.
[
<*
n
,
f
*>
,
and2a
]
is
set
(
Following
(
S0
,2)
)
.
[
<*
f
,
g
*>
,
and2
]
is
set
(
Following
(
S0
,2)
)
.
[
<*
n
,
g
*>
,
and2a
]
is
set
A0
is
boolean
Element
of
BOOLEAN
N
is
boolean
Element
of
BOOLEAN
h
is
boolean
Element
of
BOOLEAN
'not'
A0
is
boolean
Element
of
BOOLEAN
(
'not'
A0
)
'&'
N
is
boolean
Element
of
BOOLEAN
N
'&'
h
is
boolean
Element
of
BOOLEAN
(
(
'not'
A0
)
'&'
N
)
'or'
(
N
'&'
h
)
is
boolean
Element
of
BOOLEAN
(
'not'
A0
)
'&'
h
is
boolean
Element
of
BOOLEAN
(
(
(
'not'
A0
)
'&'
N
)
'or'
(
N
'&'
h
)
)
'or'
(
(
'not'
A0
)
'&'
h
)
is
boolean
Element
of
BOOLEAN
InputVertices
(
BorrowStr
(
n
,
f
,
g
)
)
is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
\
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
{
n
,
f
,
g
}
is
V36
()
V51
()
set
Following
S0
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
g1
is
Element
of the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
(
Following
S0
)
.
g1
is
boolean
Element
of
BOOLEAN
h1
is
Element
of the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
(
Following
S0
)
.
h1
is
boolean
Element
of
BOOLEAN
n
is
Element
of the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
(
Following
S0
)
.
n
is
boolean
Element
of
BOOLEAN
Following
(
Following
S0
)
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
(
Following
S0
)
.
[
<*
n
,
f
*>
,
and2a
]
is
set
(
Following
S0
)
.
[
<*
f
,
g
*>
,
and2
]
is
set
(
Following
S0
)
.
[
<*
n
,
g
*>
,
and2a
]
is
set
n
is
set
f
is
set
g
is
set
<*
f
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
f
,
g
*>
,
and2
]
is non
empty
pair
set
{
<*
f
,
g
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
f
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
f
,
g
*>
,
and2
}
,
{
<*
f
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
n
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
n
,
g
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
g
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
g
*>
,
and2a
}
,
{
<*
n
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
n
,
f
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
n
,
f
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
f
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
f
*>
,
and2a
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
BorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
f
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
f
,
g
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
g
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowCirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
n
,
f
,
g
)
BorrowICirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
n
,
f
,
g
)
1GateCircuit
(
n
,
f
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
1GateCircuit
(
<*
n
,
f
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
1GateCircuit
(
f
,
g
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
1GateCircuit
(
<*
f
,
g
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
(
1GateCircuit
(
n
,
f
,
and2a
)
)
+*
(
1GateCircuit
(
f
,
g
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
1GateCircuit
(
n
,
g
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
1GateCircuit
(
<*
n
,
g
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
(
(
1GateCircuit
(
n
,
f
,
and2a
)
)
+*
(
1GateCircuit
(
f
,
g
,
and2
)
)
)
+*
(
1GateCircuit
(
n
,
g
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
1GateCircuit
(
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
n
,
f
,
g
)
)
+*
(
1GateCircuit
(
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
is
Relation-like
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
-defined
Function-like
V23
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
set
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
) is
functional
V49
()
V50
()
set
A0
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
Following
(
A0
,2) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
Following
(
Following
(
A0
,2)
)
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
proj1
(
Following
(
Following
(
A0
,2)
)
)
is
set
proj1
(
Following
(
A0
,2)
)
is
set
N
is
Element
of the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
A0
.
N
is
boolean
Element
of
BOOLEAN
h
is
Element
of the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
A0
.
h
is
boolean
Element
of
BOOLEAN
Sn
is
Element
of the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
A0
.
Sn
is
boolean
Element
of
BOOLEAN
A0
.
n
is
set
A0
.
f
is
set
A0
.
g
is
set
BorrowOutput
(
n
,
f
,
g
) is
Element
of
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
[
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
(
Following
(
A0
,2)
)
.
(
BorrowOutput
(
n
,
f
,
g
)
)
is
boolean
Element
of
BOOLEAN
'not'
(
A0
.
N
)
is
boolean
Element
of
BOOLEAN
(
'not'
(
A0
.
N
)
)
'&'
(
A0
.
h
)
is
boolean
Element
of
BOOLEAN
(
A0
.
h
)
'&'
(
A0
.
Sn
)
is
boolean
Element
of
BOOLEAN
(
(
'not'
(
A0
.
N
)
)
'&'
(
A0
.
h
)
)
'or'
(
(
A0
.
h
)
'&'
(
A0
.
Sn
)
)
is
boolean
Element
of
BOOLEAN
(
'not'
(
A0
.
N
)
)
'&'
(
A0
.
Sn
)
is
boolean
Element
of
BOOLEAN
(
(
(
'not'
(
A0
.
N
)
)
'&'
(
A0
.
h
)
)
'or'
(
(
A0
.
h
)
'&'
(
A0
.
Sn
)
)
)
'or'
(
(
'not'
(
A0
.
N
)
)
'&'
(
A0
.
Sn
)
)
is
boolean
Element
of
BOOLEAN
(
Following
(
A0
,2)
)
.
[
<*
n
,
f
*>
,
and2a
]
is
set
(
Following
(
A0
,2)
)
.
[
<*
f
,
g
*>
,
and2
]
is
set
(
Following
(
A0
,2)
)
.
[
<*
n
,
g
*>
,
and2a
]
is
set
Following
A0
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
Following
(
Following
A0
)
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
InputVertices
(
BorrowStr
(
n
,
f
,
g
)
)
is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
\
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
{
n
,
f
,
g
}
is
V36
()
V51
()
set
(
Following
A0
)
.
n
is
set
(
Following
A0
)
.
f
is
set
(
Following
A0
)
.
g
is
set
(
Following
(
A0
,2)
)
.
n
is
set
(
Following
(
A0
,2)
)
.
f
is
set
(
Following
(
A0
,2)
)
.
g
is
set
n
is
set
x
is
Element
of the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
(
InputVertices
(
BorrowStr
(
n
,
f
,
g
)
)
)
\/
(
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
(
Following
(
A0
,2)
)
.
n
is
set
(
Following
(
Following
(
A0
,2)
)
)
.
n
is
set
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
is
Relation-like
V36
()
V51
()
set
{
(
BorrowOutput
(
n
,
f
,
g
)
)
}
is non
empty
V2
()
V36
() 1
-element
V51
()
set
{
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
}
\/
{
(
BorrowOutput
(
n
,
f
,
g
)
)
}
is non
empty
V36
()
V51
()
set
n
is
set
f
is
set
g
is
set
<*
f
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
f
,
g
*>
,
and2
]
is non
empty
pair
set
{
<*
f
,
g
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
f
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
f
,
g
*>
,
and2
}
,
{
<*
f
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
n
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
n
,
g
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
g
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
g
*>
,
and2a
}
,
{
<*
n
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
n
,
f
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
n
,
f
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
f
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
f
*>
,
and2a
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
n
,
f
*>
,
'xor'
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
n
,
f
*>
,
'xor'
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
BitSubtracterWithBorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
n
,
f
,
g
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
f
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
f
,
g
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
g
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BitSubtracterWithBorrowCirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
BitSubtracterCirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
2GatesCircuit
(
n
,
f
,
g
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
1GateCircuit
(
n
,
f
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
1GateCircuit
(
<*
n
,
f
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
1GateCircuit
(
[
<*
n
,
f
*>
,
'xor'
]
,
g
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
1GateCircuit
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
(
1GateCircuit
(
n
,
f
,
'xor'
)
)
+*
(
1GateCircuit
(
[
<*
n
,
f
*>
,
'xor'
]
,
g
,
'xor'
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
)
BorrowCirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
n
,
f
,
g
)
BorrowICirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
n
,
f
,
g
)
1GateCircuit
(
n
,
f
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
1GateCircuit
(
<*
n
,
f
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
1GateCircuit
(
f
,
g
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
1GateCircuit
(
<*
f
,
g
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
(
1GateCircuit
(
n
,
f
,
and2a
)
)
+*
(
1GateCircuit
(
f
,
g
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
1GateCircuit
(
n
,
g
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
1GateCircuit
(
<*
n
,
g
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
(
(
1GateCircuit
(
n
,
f
,
and2a
)
)
+*
(
1GateCircuit
(
f
,
g
,
and2
)
)
)
+*
(
1GateCircuit
(
n
,
g
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
1GateCircuit
(
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
n
,
f
,
g
)
)
+*
(
1GateCircuit
(
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
+*
(
BorrowCirc
(
n
,
f
,
g
)
)
is
strict
non-empty
finitely-generated
V107
(
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
the
Sorts
of
(
BitSubtracterWithBorrowCirc
(
n
,
f
,
g
)
)
is
Relation-like
the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
-defined
Function-like
V23
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
)
set
the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K230
( the
Sorts
of
(
BitSubtracterWithBorrowCirc
(
n
,
f
,
g
)
)
) is
functional
V49
()
V50
()
set
BitSubtracterOutput
(
n
,
f
,
g
) is
Element
of
InnerVertices
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is non
empty
set
InnerVertices
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
) is
set
the
ResultSort
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
))
the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is non
empty
set
K19
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)) is
set
K547
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
ResultSort
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
) is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
2GatesCircOutput
(
n
,
f
,
g
,
'xor'
) is non
empty
pair
Element
of
InnerVertices
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
[
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
]
is non
empty
pair
set
{
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
}
,
{
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
BorrowOutput
(
n
,
f
,
g
) is
Element
of
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
[
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
o0
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BitSubtracterWithBorrowCirc
(
n
,
f
,
g
)
)
)
o0
.
n
is
set
o0
.
f
is
set
o0
.
g
is
set
Following
(
o0
,2) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BitSubtracterWithBorrowCirc
(
n
,
f
,
g
)
)
)
(
Following
(
o0
,2)
)
.
(
BitSubtracterOutput
(
n
,
f
,
g
)
)
is
set
(
Following
(
o0
,2)
)
.
(
BorrowOutput
(
n
,
f
,
g
)
)
is
set
f1
is
boolean
Element
of
BOOLEAN
g1
is
boolean
Element
of
BOOLEAN
h1
is
boolean
Element
of
BOOLEAN
f1
'xor'
g1
is
boolean
Element
of
BOOLEAN
(
f1
'xor'
g1
)
'xor'
h1
is
boolean
Element
of
BOOLEAN
'not'
f1
is
boolean
Element
of
BOOLEAN
(
'not'
f1
)
'&'
g1
is
boolean
Element
of
BOOLEAN
g1
'&'
h1
is
boolean
Element
of
BOOLEAN
(
(
'not'
f1
)
'&'
g1
)
'or'
(
g1
'&'
h1
)
is
boolean
Element
of
BOOLEAN
(
'not'
f1
)
'&'
h1
is
boolean
Element
of
BOOLEAN
(
(
(
'not'
f1
)
'&'
g1
)
'or'
(
g1
'&'
h1
)
)
'or'
(
(
'not'
f1
)
'&'
h1
)
is
boolean
Element
of
BOOLEAN
the
Sorts
of
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
is
Relation-like
the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
-defined
Function-like
V23
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
set
K230
( the
Sorts
of
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
) is
functional
V49
()
V50
()
set
o0
|
the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is
Relation-like
Function-like
set
the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
is
Relation-like
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
-defined
Function-like
V23
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
set
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
) is
functional
V49
()
V50
()
set
o0
|
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
set
the
Sorts
of
(
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
+*
(
BorrowCirc
(
n
,
f
,
g
)
)
)
is
Relation-like
the
carrier
of
(
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
)
-defined
Function-like
V23
( the
carrier
of
(
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
)
)
set
the
carrier
of
(
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
)
is non
empty
set
K230
( the
Sorts
of
(
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
+*
(
BorrowCirc
(
n
,
f
,
g
)
)
)
) is
functional
V49
()
V50
()
set
InputVertices
(
BorrowStr
(
n
,
f
,
g
)
)
is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
\
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
{
n
,
f
,
g
}
is
V36
()
V51
()
set
InputVertices
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
\
K547
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
ResultSort
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
) is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
n
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
)
proj1
n
is
set
n
.
n
is
set
n
.
f
is
set
n
.
g
is
set
xx
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
+*
(
BorrowCirc
(
n
,
f
,
g
)
)
)
)
Following
(
xx
,2) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
+*
(
BorrowCirc
(
n
,
f
,
g
)
)
)
)
(
Following
(
xx
,2)
)
.
(
2GatesCircOutput
(
n
,
f
,
g
,
'xor'
)
)
is
set
Following
(
n
,2) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
)
(
Following
(
n
,2)
)
.
(
2GatesCircOutput
(
n
,
f
,
g
,
'xor'
)
)
is
boolean
Element
of
BOOLEAN
x
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
proj1
x
is
set
x
.
n
is
set
x
.
f
is
set
x
.
g
is
set
(
Following
(
xx
,2)
)
.
(
BorrowOutput
(
n
,
f
,
g
)
)
is
set
Following
(
x
,2) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
(
Following
(
x
,2)
)
.
(
BorrowOutput
(
n
,
f
,
g
)
)
is
boolean
Element
of
BOOLEAN
n
is
set
f
is
set
g
is
set
<*
f
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
f
,
g
*>
,
and2
]
is non
empty
pair
set
{
<*
f
,
g
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
f
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
f
,
g
*>
,
and2
}
,
{
<*
f
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
n
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
n
,
g
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
g
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
g
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
g
*>
,
and2a
}
,
{
<*
n
,
g
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
n
,
f
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
[
<*
n
,
f
*>
,
and2a
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
n
,
f
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
n
,
f
*>
,
and2a
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
n
,
f
*>
,
'xor'
]
is non
empty
pair
set
{
<*
n
,
f
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
n
,
f
*>
,
'xor'
}
,
{
<*
n
,
f
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
BitSubtracterWithBorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
n
,
f
,
g
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
f
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
f
,
g
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
n
,
g
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BitSubtracterWithBorrowCirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
BitSubtracterCirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
2GatesCircuit
(
n
,
f
,
g
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
1GateCircuit
(
n
,
f
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
1GateCircuit
(
<*
n
,
f
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
1GateCircuit
(
[
<*
n
,
f
*>
,
'xor'
]
,
g
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
1GateCircuit
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
(
1GateCircuit
(
n
,
f
,
'xor'
)
)
+*
(
1GateCircuit
(
[
<*
n
,
f
*>
,
'xor'
]
,
g
,
'xor'
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
n
,
f
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
'xor'
]
,
g
*>
,
'xor'
)
)
BorrowCirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
n
,
f
,
g
)
BorrowICirc
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
n
,
f
,
g
)
1GateCircuit
(
n
,
f
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
1GateCircuit
(
<*
n
,
f
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
1GateCircuit
(
f
,
g
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
1GateCircuit
(
<*
f
,
g
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
(
1GateCircuit
(
n
,
f
,
and2a
)
)
+*
(
1GateCircuit
(
f
,
g
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
1GateCircuit
(
n
,
g
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
1GateCircuit
(
<*
n
,
g
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
(
(
1GateCircuit
(
n
,
f
,
and2a
)
)
+*
(
1GateCircuit
(
f
,
g
,
and2
)
)
)
+*
(
1GateCircuit
(
n
,
g
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
n
,
f
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
f
,
g
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
n
,
g
*>
,
and2a
)
)
1GateCircuit
(
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
n
,
f
,
g
)
)
+*
(
1GateCircuit
(
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
n
,
f
,
g
)
)
+*
(
1GateCircStr
(
<*
[
<*
n
,
f
*>
,
and2a
]
,
[
<*
f
,
g
*>
,
and2
]
,
[
<*
n
,
g
*>
,
and2a
]
*>
,
or3
)
)
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
+*
(
BorrowCirc
(
n
,
f
,
g
)
)
is
strict
non-empty
finitely-generated
V107
(
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
the
Sorts
of
(
BitSubtracterWithBorrowCirc
(
n
,
f
,
g
)
)
is
Relation-like
the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
-defined
Function-like
V23
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
)
set
the
carrier
of
(
BitSubtracterWithBorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K230
( the
Sorts
of
(
BitSubtracterWithBorrowCirc
(
n
,
f
,
g
)
)
) is
functional
V49
()
V50
()
set
o0
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BitSubtracterWithBorrowCirc
(
n
,
f
,
g
)
)
)
Following
(
o0
,2) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BitSubtracterWithBorrowCirc
(
n
,
f
,
g
)
)
)
the
Sorts
of
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
is
Relation-like
the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
-defined
Function-like
V23
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
set
the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is non
empty
set
K230
( the
Sorts
of
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
) is
functional
V49
()
V50
()
set
o0
|
the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is
Relation-like
Function-like
set
the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
is
Relation-like
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
-defined
Function-like
V23
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
set
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
) is
functional
V49
()
V50
()
set
o0
|
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
set
the
Sorts
of
(
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
+*
(
BorrowCirc
(
n
,
f
,
g
)
)
)
is
Relation-like
the
carrier
of
(
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
)
-defined
Function-like
V23
( the
carrier
of
(
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
)
)
set
the
carrier
of
(
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
+*
(
BorrowStr
(
n
,
f
,
g
)
)
)
is non
empty
set
K230
( the
Sorts
of
(
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
+*
(
BorrowCirc
(
n
,
f
,
g
)
)
)
) is
functional
V49
()
V50
()
set
InputVertices
(
BorrowStr
(
n
,
f
,
g
)
)
is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
))
the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
\
K547
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
, the
ResultSort
of
(
BorrowStr
(
n
,
f
,
g
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
{
n
,
f
,
g
}
is
V36
()
V51
()
set
InnerVertices
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
) is
set
the
ResultSort
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
))
the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is non
empty
set
K19
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)) is
set
K547
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
ResultSort
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
) is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
InputVertices
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
\
K547
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
, the
ResultSort
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
) is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
)
InnerVertices
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
)
f1
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
)
Following
(
f1
,2) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
)
h1
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
+*
(
BorrowCirc
(
n
,
f
,
g
)
)
)
)
Following
(
h1
,2) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
+*
(
BorrowCirc
(
n
,
f
,
g
)
)
)
)
(
Following
(
h1
,2)
)
|
the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is
Relation-like
Function-like
set
Following
(
f1
,3) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
)
Following
(
h1
,3) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
+*
(
BorrowCirc
(
n
,
f
,
g
)
)
)
)
(
Following
(
h1
,3)
)
|
the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
is
Relation-like
Function-like
set
g1
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
Following
(
g1
,2) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
(
Following
(
h1
,2)
)
|
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
set
Following
(
g1
,3) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
(
Following
(
h1
,3)
)
|
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is
Relation-like
Function-like
set
Following
(
Following
(
f1
,2)
)
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
)
2
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
Following
(
f1
,
(
2
+
1
)
) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BitSubtracterCirc
(
n
,
f
,
g
)
)
)
Following
(
Following
(
g1
,2)
)
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
Following
(
g1
,
(
2
+
1
)
) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BorrowCirc
(
n
,
f
,
g
)
)
)
Following
(
o0
,
(
2
+
1
)
) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BitSubtracterWithBorrowCirc
(
n
,
f
,
g
)
)
)
Following
(
Following
(
o0
,2)
)
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BitSubtracterWithBorrowCirc
(
n
,
f
,
g
)
)
)
proj1
(
Following
(
o0
,2)
)
is
set
Following
(
o0
,3) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
BitSubtracterWithBorrowCirc
(
n
,
f
,
g
)
)
)
proj1
(
Following
(
o0
,3)
)
is
set
proj1
(
Following
(
f1
,2)
)
is
set
proj1
(
Following
(
g1
,2)
)
is
set
the
carrier
of
(
2GatesCircStr
(
n
,
f
,
g
,
'xor'
)
)
\/
the
carrier
of
(
BorrowStr
(
n
,
f
,
g
)
)
is non
empty
set
n
is
set
(
Following
(
o0
,2)
)
.
n
is
set
(
Following
(
f1
,2)
)
.
n
is
set
(
Following
(
o0
,3)
)
.
n
is
set
(
Following
(
f1
,3)
)
.
n
is
set
(
Following
(
g1
,2)
)
.
n
is
set
(
Following
(
g1
,3)
)
.
n
is
set
(
Following
(
Following
(
o0
,2)
)
)
.
n
is
set
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
2
*
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
1
+
(
2
*
n
)
is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
is
Relation-like
NAT
-defined
Function-like
V36
()
n
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
g
is
Relation-like
NAT
-defined
Function-like
V36
()
n
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
n
,
f
,
g
) is
strict
non-empty
finitely-generated
V107
((
n
,
f
,
g
))
gate`2=den
Boolean
MSAlgebra
over (
n
,
f
,
g
)
the
Sorts
of (
n
,
f
,
g
) is
Relation-like
the
carrier
of (
n
,
f
,
g
)
-defined
Function-like
V23
( the
carrier
of (
n
,
f
,
g
))
set
the
carrier
of (
n
,
f
,
g
) is non
empty
set
K230
( the
Sorts
of (
n
,
f
,
g
)) is
functional
V49
()
V50
()
set
N
is
Relation-like
Function-like
V27
(
NAT
,
NAT
)
Element
of
K18
(
K19
(
NAT
,
NAT
))
N
.
0
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
N
.
1 is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
N
.
2 is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
Sn
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
Sn
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
.
(
Sn
+
1
)
is non
pair
set
g
.
(
Sn
+
1
)
is non
pair
set
h
is
set
BitSubtracterWithBorrowCirc
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
) is
strict
non-empty
finitely-generated
V107
(
BitSubtracterWithBorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
))
gate`2=den
Boolean
MSAlgebra
over
BitSubtracterWithBorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
)
BitSubtracterWithBorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
h
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
h
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
h
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
}
,
{
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
}
,
{
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BitSubtracterCirc
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
,
'xor'
)
2GatesCircuit
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
,
'xor'
)
1GateCircuit
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
h
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
h
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
h
*>
,
'xor'
)
1GateCircuit
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
h
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
h
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
h
*>
,
'xor'
)
(
1GateCircuit
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
'xor'
)
)
+*
(
1GateCircuit
(
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
h
,
'xor'
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
h
*>
,
'xor'
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
h
*>
,
'xor'
)
)
BorrowCirc
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
)
BorrowICirc
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
)
1GateCircuit
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
(
g
.
(
Sn
+
1
)
)
,
h
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
)
1GateCircuit
(
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
)
(
1GateCircuit
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
g
.
(
Sn
+
1
)
)
,
h
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
)
)
1GateCircuit
(
(
f
.
(
Sn
+
1
)
)
,
h
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
)
1GateCircuit
(
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
)
(
(
1GateCircuit
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
g
.
(
Sn
+
1
)
)
,
h
,
and2
)
)
)
+*
(
1GateCircuit
(
(
f
.
(
Sn
+
1
)
)
,
h
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
)
)
1GateCircuit
(
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
)
)
+*
(
1GateCircuit
(
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
h
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
h
*>
,
and2a
]
*>
,
or3
)
)
(
BitSubtracterCirc
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
)
)
+*
(
BorrowCirc
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
)
)
is
strict
non-empty
finitely-generated
V107
(
(
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
h
)
)
the
Sorts
of
(
1GateCircuit
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
is
Relation-like
the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
-defined
Function-like
V23
( the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
)
set
the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
is non
empty
set
K230
( the
Sorts
of
(
1GateCircuit
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
) is
functional
V49
()
V50
()
set
h
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
1GateCircuit
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
)
Following
(
h
,1) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
1GateCircuit
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
)
Following
h
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
1GateCircuit
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
)
Following
(
h
,
H
4
(
0
)) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
(
1GateCircuit
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
)
h
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
Sn
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
Sn
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
.
(
Sn
+
1
)
is non
pair
set
g
.
(
Sn
+
1
)
is non
pair
set
h
.
Sn
is
set
An
is
set
BitSubtracterWithBorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
An
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
An
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
An
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
}
,
{
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
}
,
{
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BitSubtracterWithBorrowCirc
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
) is
strict
non-empty
finitely-generated
V107
(
BitSubtracterWithBorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
))
gate`2=den
Boolean
MSAlgebra
over
BitSubtracterWithBorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
)
BitSubtracterCirc
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
,
'xor'
)
2GatesCircuit
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
,
'xor'
)
1GateCircuit
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
An
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
An
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
An
*>
,
'xor'
)
1GateCircuit
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
An
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
An
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
An
*>
,
'xor'
)
(
1GateCircuit
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
'xor'
)
)
+*
(
1GateCircuit
(
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
An
,
'xor'
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
An
*>
,
'xor'
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
'xor'
]
,
An
*>
,
'xor'
)
)
BorrowCirc
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
)
BorrowICirc
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
)
1GateCircuit
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
(
g
.
(
Sn
+
1
)
)
,
An
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
)
1GateCircuit
(
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
)
(
1GateCircuit
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
g
.
(
Sn
+
1
)
)
,
An
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
)
)
1GateCircuit
(
(
f
.
(
Sn
+
1
)
)
,
An
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
)
1GateCircuit
(
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
)
(
(
1GateCircuit
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
g
.
(
Sn
+
1
)
)
,
An
,
and2
)
)
)
+*
(
1GateCircuit
(
(
f
.
(
Sn
+
1
)
)
,
An
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
)
)
1GateCircuit
(
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
)
)
+*
(
1GateCircuit
(
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
Sn
+
1
)
)
,
An
*>
,
and2
]
,
[
<*
(
f
.
(
Sn
+
1
)
)
,
An
*>
,
and2a
]
*>
,
or3
)
)
(
BitSubtracterCirc
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
)
)
+*
(
BorrowCirc
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
)
)
is
strict
non-empty
finitely-generated
V107
(
(
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
2GatesCircStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
)
)
o0
is
non-empty
finitely-generated
V107
(
H
1
(
An
,
Sn
))
MSAlgebra
over
H
1
(
An
,
Sn
)
the
Sorts
of
o0
is
Relation-like
the
carrier
of
H
1
(
An
,
Sn
)
-defined
Function-like
V23
( the
carrier
of
H
1
(
An
,
Sn
))
set
the
carrier
of
H
1
(
An
,
Sn
) is non
empty
set
K230
( the
Sorts
of
o0
) is
functional
V49
()
V50
()
set
(
Sn
,
f
,
g
) is
Element
of
InnerVertices
(
Sn
,
f
,
g
)
(
Sn
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
Sn
,
f
,
g
) is non
empty
set
InnerVertices
(
Sn
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
Sn
,
f
,
g
))
K18
( the
carrier
of (
Sn
,
f
,
g
)) is
set
the
ResultSort
of (
Sn
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
Sn
,
f
,
g
), the
carrier
of (
Sn
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
Sn
,
f
,
g
), the
carrier
of (
Sn
,
f
,
g
)))
the
carrier'
of (
Sn
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
Sn
,
f
,
g
), the
carrier
of (
Sn
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
Sn
,
f
,
g
), the
carrier
of (
Sn
,
f
,
g
))) is
set
K547
( the
carrier
of (
Sn
,
f
,
g
), the
ResultSort
of (
Sn
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
Sn
,
f
,
g
))
f1
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
o0
)
Following
(
f1
,
(
N
.
1
)
) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of
o0
)
the
Sorts
of
o0
is
Relation-like
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
)
)
-defined
Function-like
V23
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
)
)
)
set
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
Sn
+
1
)
)
,
(
g
.
(
Sn
+
1
)
)
,
An
)
)
is non
empty
set
K230
( the
Sorts
of
o0
) is
functional
V49
()
V50
()
set
(
0
,
f
,
g
) is non
empty
pair
Element
of
InnerVertices
(
0
,
f
,
g
)
(
0
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
0
,
f
,
g
) is non
empty
set
InnerVertices
(
0
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
0
,
f
,
g
))
K18
( the
carrier
of (
0
,
f
,
g
)) is
set
the
ResultSort
of (
0
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
0
,
f
,
g
), the
carrier
of (
0
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
0
,
f
,
g
), the
carrier
of (
0
,
f
,
g
)))
the
carrier'
of (
0
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
0
,
f
,
g
), the
carrier
of (
0
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
0
,
f
,
g
), the
carrier
of (
0
,
f
,
g
))) is
set
K547
( the
carrier
of (
0
,
f
,
g
), the
ResultSort
of (
0
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
0
,
f
,
g
))
f1
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
f1
.
n
is
set
g1
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
g1
.
n
is
set
f1
.
0
is
set
g1
.
0
is
set
h1
is
Relation-like
NAT
-defined
Function-like
V23
(
NAT
)
set
h1
.
0
is
set
n
is
set
h1
.
n
is
set
x
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
(
x
,
f
,
g
) is non
empty
pair
Element
of
InnerVertices
(
x
,
f
,
g
)
(
x
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
x
,
f
,
g
) is non
empty
set
InnerVertices
(
x
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
x
,
f
,
g
))
K18
( the
carrier
of (
x
,
f
,
g
)) is
set
the
ResultSort
of (
x
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
x
,
f
,
g
), the
carrier
of (
x
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
x
,
f
,
g
), the
carrier
of (
x
,
f
,
g
)))
the
carrier'
of (
x
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
x
,
f
,
g
), the
carrier
of (
x
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
x
,
f
,
g
), the
carrier
of (
x
,
f
,
g
))) is
set
K547
( the
carrier
of (
x
,
f
,
g
), the
ResultSort
of (
x
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
x
,
f
,
g
))
h
.
n
is
set
h
.
0
is
set
f1
.
H
4
(2) is
set
g1
.
H
4
(2) is
set
x
is non
empty
V71
()
ManySortedSign
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
n
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
.
(
n
+
1
)
is non
pair
set
g
.
(
n
+
1
)
is non
pair
set
xy
is
set
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
xy
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
xy
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
xy
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
}
,
{
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
f1
.
n
is
set
xx
is
non-empty
MSAlgebra
over
x
g1
.
n
is
set
h
.
n
is
set
c
18
is
non-empty
MSAlgebra
over
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
BitSubtracterWithBorrowCirc
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
) is
strict
non-empty
finitely-generated
V107
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
))
gate`2=den
Boolean
MSAlgebra
over
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
BitSubtracterCirc
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
,
'xor'
)
2GatesCircuit
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
,
'xor'
)
1GateCircuit
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
)
1GateCircuit
(
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
xy
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
xy
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
xy
*>
,
'xor'
)
1GateCircuit
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
xy
*>
,
'xor'
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
xy
*>
,
'xor'
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
xy
*>
,
'xor'
)
(
1GateCircuit
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
'xor'
)
)
+*
(
1GateCircuit
(
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
xy
,
'xor'
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
xy
*>
,
'xor'
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
xy
*>
,
'xor'
)
)
BorrowCirc
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
) is
strict
non-empty
finitely-generated
V107
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
))
gate`2=den
Boolean
MSAlgebra
over
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
BorrowICirc
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
) is
strict
non-empty
finitely-generated
V107
(
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
))
gate`2=den
Boolean
MSAlgebra
over
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
1GateCircuit
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
1GateCircuit
(
(
g
.
(
n
+
1
)
)
,
xy
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
)
1GateCircuit
(
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
)
(
1GateCircuit
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
g
.
(
n
+
1
)
)
,
xy
,
and2
)
)
is
strict
non-empty
finitely-generated
V107
(
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
)
)
1GateCircuit
(
(
f
.
(
n
+
1
)
)
,
xy
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
)
1GateCircuit
(
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
)
(
(
1GateCircuit
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
and2a
)
)
+*
(
1GateCircuit
(
(
g
.
(
n
+
1
)
)
,
xy
,
and2
)
)
)
+*
(
1GateCircuit
(
(
f
.
(
n
+
1
)
)
,
xy
,
and2a
)
)
is
strict
non-empty
finitely-generated
V107
(
(
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
)
)
1GateCircuit
(
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
*>
,
or3
)
1GateCircuit
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
*>
,
or3
) is
strict
non-empty
finitely-generated
V107
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
*>
,
or3
))
gate`2=den
Boolean
MSAlgebra
over
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
*>
,
or3
)
(
BorrowICirc
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
+*
(
1GateCircuit
(
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
,
or3
)
)
is
strict
non-empty
finitely-generated
V107
(
(
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
*>
,
or3
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
*>
,
or3
)
)
(
BitSubtracterCirc
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
+*
(
BorrowCirc
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
is
strict
non-empty
finitely-generated
V107
(
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
)
gate`2=den
Boolean
MSAlgebra
over
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
f1
.
(
n
+
1
)
is
set
x
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
is non
empty
non
void
V71
()
strict
ManySortedSign
g1
.
(
n
+
1
)
is
set
xx
+*
c
18
is
strict
non-empty
MSAlgebra
over
x
+*
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
h
.
(
n
+
1
)
is
set
BorrowOutput
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
) is
Element
of
InnerVertices
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
is non
empty
set
InnerVertices
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
))
the
carrier'
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
, the
ResultSort
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
xy
)
)
)
[
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
xy
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
xy
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
InnerVertices
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
)
K18
( the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
) is
set
the
ResultSort
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
, the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
, the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
))
the
carrier'
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
is non
empty
set
K19
( the
carrier'
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
, the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
, the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
)) is
set
K547
( the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
, the
ResultSort
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
)
InputVertices
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
)
the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
\
K547
( the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
, the
ResultSort
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
) is
Element
of
K18
( the
carrier
of
(
1GateCircStr
(
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
)
)
)
{
[
{}
,
(
(
0
-tuples_on
BOOLEAN
)
-->
TRUE
)
]
}
is non
empty
V2
()
Relation-like
Function-like
constant
V36
() 1
-element
V51
()
set
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
n
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
.
(
n
+
1
)
is non
pair
set
g
.
(
n
+
1
)
is non
pair
set
x
is
set
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
x
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
x
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
x
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
n
+
1
)
)
,
x
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
n
+
1
)
)
,
x
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
n
+
1
)
)
,
x
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
}
,
{
<*
(
g
.
(
n
+
1
)
)
,
x
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
n
+
1
)
)
,
x
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
x
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InnerVertices
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is non
empty
set
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
) is
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
h
.
n
is
set
n
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
f
.
(
n
+
1
)
is non
pair
set
g
.
(
n
+
1
)
is non
pair
set
x
is
set
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
x
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
x
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
x
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
n
+
1
)
)
,
x
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
n
+
1
)
)
,
x
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
n
+
1
)
)
,
x
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
}
,
{
<*
(
g
.
(
n
+
1
)
)
,
x
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
n
+
1
)
)
,
x
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
x
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
H
1
(
x
,
n
) is non
empty
set
InputVertices
H
1
(
x
,
n
) is
Element
of
K18
( the
carrier
of
H
1
(
x
,
n
))
K18
( the
carrier
of
H
1
(
x
,
n
)) is
set
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is non
empty
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
) is
set
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
\
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)
{
x
}
is non
empty
V2
()
V36
() 1
-element
V51
()
set
(
InputVertices
H
1
(
x
,
n
)
)
\
{
x
}
is
Element
of
K18
( the
carrier
of
H
1
(
x
,
n
))
(
n
,
f
,
g
) is
Element
of
InnerVertices
(
n
,
f
,
g
)
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
n
,
f
,
g
) is non
empty
set
InnerVertices
(
n
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
K18
( the
carrier
of (
n
,
f
,
g
)) is
set
the
ResultSort
of (
n
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)))
the
carrier'
of (
n
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))) is
set
K547
( the
carrier
of (
n
,
f
,
g
), the
ResultSort
of (
n
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
{
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
}
is
V36
()
V51
()
set
xx
is non
empty
pair
set
n
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
set
h
.
n
is
set
n
+
1 is non
empty
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
positive
non
negative
Element
of
NAT
h
.
(
n
+
1
)
is
set
f
.
(
n
+
1
)
is non
pair
set
g
.
(
n
+
1
)
is non
pair
set
x
is
set
BorrowOutput
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
) is
Element
of
InnerVertices
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
nonpair-yielding
set
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
g
.
(
n
+
1
)
)
,
x
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
<*
(
f
.
(
n
+
1
)
)
,
x
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
)
)
+*
(
1GateCircStr
(
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
)
)
)
+*
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
is non
empty
pair
set
{
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
g
.
(
n
+
1
)
)
,
x
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
}
,
{
<*
(
g
.
(
n
+
1
)
)
,
x
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
}
is non
empty
functional
V36
()
V51
()
set
{
<*
(
f
.
(
n
+
1
)
)
,
x
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
x
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 3
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
*>
,
or3
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
BorrowIStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
*>
,
or3
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is non
empty
set
InnerVertices
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
) is
set
the
ResultSort
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
))
the
carrier'
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is non
empty
set
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)) is
set
K547
( the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
ResultSort
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
) is
Element
of
K18
( the
carrier
of
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)
[
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
*>
,
or3
]
is non
empty
pair
set
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
*>
,
or3
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
*>
,
or3
}
,
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
is non
empty
pair
set
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
}
,
{
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
x
*>
is non
empty
Relation-like
NAT
-defined
Function-like
V36
() 2
-element
FinSequence-like
FinSubsequence-like
V51
()
set
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
x
*>
,
'xor'
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
1GateCircStr
(
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
)
)
+*
(
1GateCircStr
(
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
x
*>
,
'xor'
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
+*
(
BorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
InputVertices
H
1
(
x
,
n
) is
Element
of
K18
( the
carrier
of
H
1
(
x
,
n
))
the
carrier
of
H
1
(
x
,
n
) is non
empty
set
K18
( the
carrier
of
H
1
(
x
,
n
)) is
set
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is non
empty
set
the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
))
the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
is non
empty
set
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)) is
set
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
) is
set
the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
\
K547
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
, the
ResultSort
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
) is
Element
of
K18
( the
carrier
of
(
BitSubtracterWithBorrowStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
)
InnerVertices
H
1
(
x
,
n
) is non
empty
Element
of
K18
( the
carrier
of
H
1
(
x
,
n
))
(
n
,
f
,
g
) is
Element
of
InnerVertices
(
n
,
f
,
g
)
(
n
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
n
,
f
,
g
) is non
empty
set
InnerVertices
(
n
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
K18
( the
carrier
of (
n
,
f
,
g
)) is
set
the
ResultSort
of (
n
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)))
the
carrier'
of (
n
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
n
,
f
,
g
), the
carrier
of (
n
,
f
,
g
))) is
set
K547
( the
carrier
of (
n
,
f
,
g
), the
ResultSort
of (
n
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
n
,
f
,
g
))
(
(
n
+
1
)
,
f
,
g
) is non
empty
pair
Element
of
InnerVertices
(
(
n
+
1
)
,
f
,
g
)
(
(
n
+
1
)
,
f
,
g
) is non
empty
non
void
V71
()
strict
Circuit-like
unsplit
gate`1=arity
gate`2isBoolean
gate`2=den
ManySortedSign
the
carrier
of (
(
n
+
1
)
,
f
,
g
) is non
empty
set
InnerVertices
(
(
n
+
1
)
,
f
,
g
) is non
empty
Element
of
K18
( the
carrier
of (
(
n
+
1
)
,
f
,
g
))
K18
( the
carrier
of (
(
n
+
1
)
,
f
,
g
)) is
set
the
ResultSort
of (
(
n
+
1
)
,
f
,
g
) is
Relation-like
Function-like
V27
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
))
Element
of
K18
(
K19
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
)))
the
carrier'
of (
(
n
+
1
)
,
f
,
g
) is non
empty
set
K19
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
)) is
Relation-like
set
K18
(
K19
( the
carrier'
of (
(
n
+
1
)
,
f
,
g
), the
carrier
of (
(
n
+
1
)
,
f
,
g
))) is
set
K547
( the
carrier
of (
(
n
+
1
)
,
f
,
g
), the
ResultSort
of (
(
n
+
1
)
,
f
,
g
)) is
Element
of
K18
( the
carrier
of (
(
n
+
1
)
,
f
,
g
))
{
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
}
is
V36
()
V51
()
set
{
H
3
(
x
,
n
)
}
is non
empty
V2
()
V36
() 1
-element
V51
()
set
2GatesCircOutput
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
) is non
empty
pair
Element
of
InnerVertices
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
the
carrier
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
is non
empty
set
InnerVertices
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
is non
empty
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
)
K18
( the
carrier
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
) is
set
the
ResultSort
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
is
Relation-like
Function-like
V27
( the
carrier'
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
)
Element
of
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
))
the
carrier'
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
is non
empty
set
K19
( the
carrier'
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
) is
Relation-like
set
K18
(
K19
( the
carrier'
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
, the
carrier
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
)) is
set
K547
( the
carrier
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
, the
ResultSort
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
) is
Element
of
K18
( the
carrier
of
(
2GatesCircStr
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
)
[
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
x
*>
,
'xor'
]
is non
empty
pair
set
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
x
*>
,
'xor'
}
is non
empty
functional
V36
()
V51
()
set
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
x
*>
}
is non
empty
V2
()
functional
V36
()
V40
() 1
-element
V49
()
V51
()
set
{
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
x
*>
,
'xor'
}
,
{
<*
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
x
*>
}
}
is non
empty
V36
()
V40
()
V51
()
set
{
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
(
2GatesCircOutput
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
}
is non
empty
Relation-like
V36
()
V51
()
set
{
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
}
is
Relation-like
V36
()
V51
()
set
{
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
(
2GatesCircOutput
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
}
\/
{
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
}
is non
empty
Relation-like
V36
()
V51
()
set
{
(
BorrowOutput
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
}
is non
empty
V2
()
V36
() 1
-element
V51
()
set
(
{
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
'xor'
]
,
(
2GatesCircOutput
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
,
'xor'
)
)
}
\/
{
[
<*
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
*>
,
and2a
]
,
[
<*
(
g
.
(
n
+
1
)
)
,
x
*>
,
and2
]
,
[
<*
(
f
.
(
n
+
1
)
)
,
x
*>
,
and2a
]
}
)
\/
{
(
BorrowOutput
(
(
f
.
(
n
+
1
)
)
,
(
g
.
(
n
+
1
)
)
,
x
)
)
}
is non
empty
V36
()
V51
()
set
H
4
(2)
*
H
4
(1) is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
H
4
(
0
)
+
(
H
4
(2)
*
H
4
(1)
)
is
V9
()
V10
()
V11
()
V15
() non
pair
V30
()
V31
()
V36
()
cardinal
V51
()
ext-real
non
negative
Element
of
NAT
n
is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of (
n
,
f
,
g
))
Following
(
n
,
(
1
+
(
2
*
n
)
)
) is
Relation-like
Function-like
Element
of
K230
( the
Sorts
of (
n
,
f
,
g
))