LM020:
ex F being Function of NAT,(BOOLEAN *) st
for x being Element of NAT holds F . x = (LenBSeq x) -BinarySequence x
LM030:
for F being Function of NAT,(BOOLEAN *) st ( for x being Element of NAT holds F . x = (LenBSeq x) -BinarySequence x ) holds
F is one-to-one
LMExtBit60:
for K being non zero Nat
for x, y being Tuple of K, BOOLEAN st x,y are_summable & x . (len x) = 1 holds
(x + y) . (len (x + y)) = 1
definition
let x,
y be
Element of
BOOLEAN * ;
func x + y -> Element of
BOOLEAN * equals :
Def3:
y if len x = 0 x if len y = 0 (ExtBit (x,(LenMax (x,y)))) + (ExtBit (y,(LenMax (x,y)))) if (
ExtBit (
x,
(LenMax (x,y))),
ExtBit (
y,
(LenMax (x,y)))
are_summable &
len x <> 0 &
len y <> 0 )
otherwise (ExtBit (x,((LenMax (x,y)) + 1))) + (ExtBit (y,((LenMax (x,y)) + 1)));
coherence
( ( len x = 0 implies y is Element of BOOLEAN * ) & ( len y = 0 implies x is Element of BOOLEAN * ) & ( ExtBit (x,(LenMax (x,y))), ExtBit (y,(LenMax (x,y))) are_summable & len x <> 0 & len y <> 0 implies (ExtBit (x,(LenMax (x,y)))) + (ExtBit (y,(LenMax (x,y)))) is Element of BOOLEAN * ) & ( not len x = 0 & not len y = 0 & ( not ExtBit (x,(LenMax (x,y))), ExtBit (y,(LenMax (x,y))) are_summable or not len x <> 0 or not len y <> 0 ) implies (ExtBit (x,((LenMax (x,y)) + 1))) + (ExtBit (y,((LenMax (x,y)) + 1))) is Element of BOOLEAN * ) )
by FINSEQ_1:def 11;
consistency
for b1 being Element of BOOLEAN * holds
( ( len x = 0 & len y = 0 implies ( b1 = y iff b1 = x ) ) & ( len x = 0 & ExtBit (x,(LenMax (x,y))), ExtBit (y,(LenMax (x,y))) are_summable & len x <> 0 & len y <> 0 implies ( b1 = y iff b1 = (ExtBit (x,(LenMax (x,y)))) + (ExtBit (y,(LenMax (x,y)))) ) ) & ( len y = 0 & ExtBit (x,(LenMax (x,y))), ExtBit (y,(LenMax (x,y))) are_summable & len x <> 0 & len y <> 0 implies ( b1 = x iff b1 = (ExtBit (x,(LenMax (x,y)))) + (ExtBit (y,(LenMax (x,y)))) ) ) )
;
end;
::
deftheorem Def3 defines
+ BINARI_6:def 5 :
for x, y being Element of BOOLEAN * holds
( ( len x = 0 implies x + y = y ) & ( len y = 0 implies x + y = x ) & ( ExtBit (x,(LenMax (x,y))), ExtBit (y,(LenMax (x,y))) are_summable & len x <> 0 & len y <> 0 implies x + y = (ExtBit (x,(LenMax (x,y)))) + (ExtBit (y,(LenMax (x,y)))) ) & ( not len x = 0 & not len y = 0 & ( not ExtBit (x,(LenMax (x,y))), ExtBit (y,(LenMax (x,y))) are_summable or not len x <> 0 or not len y <> 0 ) implies x + y = (ExtBit (x,((LenMax (x,y)) + 1))) + (ExtBit (y,((LenMax (x,y)) + 1))) ) );
D100:
for x being Element of BOOLEAN * st len x = 0 holds
ExAbsval x = 0
LM220:
for F being Function of (BOOLEAN *),NAT st ( for x being Element of BOOLEAN * holds F . x = ExAbsval x ) holds
F is onto
LemmaQU:
QuBL2Nat is onto
LM600:
QuBL2Nat is one-to-one