let K be non zero Nat; for x, y being Tuple of K, BOOLEAN st y = 0* K holds
for n being non zero Nat st n <= K holds
( (carry (x,y)) /. n = 0 & (carry (y,x)) /. n = 0 )
let x, y be Tuple of K, BOOLEAN ; ( y = 0* K implies for n being non zero Nat st n <= K holds
( (carry (x,y)) /. n = 0 & (carry (y,x)) /. n = 0 ) )
assume AS:
y = 0* K
; for n being non zero Nat st n <= K holds
( (carry (x,y)) /. n = 0 & (carry (y,x)) /. n = 0 )
defpred S1[ Nat] means ( 1 <= $1 & $1 <= K implies (carry (x,y)) /. $1 = 0 );
P1:
S1[1]
by BINARITH:def 2;
P2:
for i being non zero Nat st S1[i] holds
S1[i + 1]
P3:
for k being non zero Nat holds S1[k]
from NAT_1:sch 10(P1, P2);
let n be non zero Nat; ( n <= K implies ( (carry (x,y)) /. n = 0 & (carry (y,x)) /. n = 0 ) )
assume
n <= K
; ( (carry (x,y)) /. n = 0 & (carry (y,x)) /. n = 0 )
then
( 1 <= n & n <= K )
by NAT_1:25;
hence
(carry (x,y)) /. n = 0
by P3; (carry (y,x)) /. n = 0
hence
(carry (y,x)) /. n = 0
by LMExtBit501; verum