let S be non empty RelStr ; :: thesis: for a, b being Element of S
for i, j being Element of (Net-Str a,b)
for i', j' being Element of NAT st i' = i & j' = i' + 1 & j' = j holds
( ( (Net-Str a,b) . i = a implies (Net-Str a,b) . j = b ) & ( (Net-Str a,b) . i = b implies (Net-Str a,b) . j = a ) )
let a, b be Element of S; :: thesis: for i, j being Element of (Net-Str a,b)
for i', j' being Element of NAT st i' = i & j' = i' + 1 & j' = j holds
( ( (Net-Str a,b) . i = a implies (Net-Str a,b) . j = b ) & ( (Net-Str a,b) . i = b implies (Net-Str a,b) . j = a ) )
let i, j be Element of (Net-Str a,b); :: thesis: for i', j' being Element of NAT st i' = i & j' = i' + 1 & j' = j holds
( ( (Net-Str a,b) . i = a implies (Net-Str a,b) . j = b ) & ( (Net-Str a,b) . i = b implies (Net-Str a,b) . j = a ) )
let i', j' be Element of NAT ; :: thesis: ( i' = i & j' = i' + 1 & j' = j implies ( ( (Net-Str a,b) . i = a implies (Net-Str a,b) . j = b ) & ( (Net-Str a,b) . i = b implies (Net-Str a,b) . j = a ) ) )
assume A1:
( i' = i & j' = i' + 1 & j' = j )
; :: thesis: ( ( (Net-Str a,b) . i = a implies (Net-Str a,b) . j = b ) & ( (Net-Str a,b) . i = b implies (Net-Str a,b) . j = a ) )
per cases
( a <> b or a = b )
;
suppose A2:
a <> b
;
:: thesis: ( ( (Net-Str a,b) . i = a implies (Net-Str a,b) . j = b ) & ( (Net-Str a,b) . i = b implies (Net-Str a,b) . j = a ) )defpred S1[
Element of
NAT ]
means ex
k being
Element of
NAT st $1
= 2
* k;
thus
(
(Net-Str a,b) . i = a implies
(Net-Str a,b) . j = b )
:: thesis: ( (Net-Str a,b) . i = b implies (Net-Str a,b) . j = a )assume A7:
(Net-Str a,b) . i = b
;
:: thesis: (Net-Str a,b) . j = aA8:
not
S1[
i']
A10:
S1[
j']
(Net-Str a,b) . j =
(a,b ,... ) . j
by Def3
.=
a
by A1, A10, Def1
;
hence
(Net-Str a,b) . j = a
;
:: thesis: verum end; end;