Metamath Proof Explorer


Theorem frege133d

Description: If F is a function and A and B both follow X in the transitive closure of F , then (for distinct A and B ) either A follows B or B follows A in the transitive closure of F (or both if it loops). Similar to Proposition 133 of Frege1879 p. 86. Compare with frege133 . (Contributed by RP, 18-Jul-2020)

Ref Expression
Hypotheses frege133d.f ( 𝜑𝐹 ∈ V )
frege133d.xa ( 𝜑𝑋 ( t+ ‘ 𝐹 ) 𝐴 )
frege133d.xb ( 𝜑𝑋 ( t+ ‘ 𝐹 ) 𝐵 )
frege133d.fun ( 𝜑 → Fun 𝐹 )
Assertion frege133d ( 𝜑 → ( 𝐴 ( t+ ‘ 𝐹 ) 𝐵𝐴 = 𝐵𝐵 ( t+ ‘ 𝐹 ) 𝐴 ) )

Proof

Step Hyp Ref Expression
1 frege133d.f ( 𝜑𝐹 ∈ V )
2 frege133d.xa ( 𝜑𝑋 ( t+ ‘ 𝐹 ) 𝐴 )
3 frege133d.xb ( 𝜑𝑋 ( t+ ‘ 𝐹 ) 𝐵 )
4 frege133d.fun ( 𝜑 → Fun 𝐹 )
5 funrel ( Fun 𝐹 → Rel 𝐹 )
6 4 5 syl ( 𝜑 → Rel 𝐹 )
7 reltrclfv ( ( 𝐹 ∈ V ∧ Rel 𝐹 ) → Rel ( t+ ‘ 𝐹 ) )
8 1 6 7 syl2anc ( 𝜑 → Rel ( t+ ‘ 𝐹 ) )
9 eliniseg2 ( Rel ( t+ ‘ 𝐹 ) → ( 𝑋 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ↔ 𝑋 ( t+ ‘ 𝐹 ) 𝐵 ) )
10 8 9 syl ( 𝜑 → ( 𝑋 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ↔ 𝑋 ( t+ ‘ 𝐹 ) 𝐵 ) )
11 3 10 mpbird ( 𝜑𝑋 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) )
12 brrelex2 ( ( Rel ( t+ ‘ 𝐹 ) ∧ 𝑋 ( t+ ‘ 𝐹 ) 𝐴 ) → 𝐴 ∈ V )
13 8 2 12 syl2anc ( 𝜑𝐴 ∈ V )
14 un12 ( ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∪ ( { 𝐵 } ∪ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) ) = ( { 𝐵 } ∪ ( ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∪ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) )
15 14 a1i ( 𝜑 → ( ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∪ ( { 𝐵 } ∪ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) ) = ( { 𝐵 } ∪ ( ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∪ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) ) )
16 1 15 4 frege131d ( 𝜑 → ( 𝐹 “ ( ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∪ ( { 𝐵 } ∪ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) ) ) ⊆ ( ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∪ ( { 𝐵 } ∪ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) ) )
17 1 11 13 2 16 frege83d ( 𝜑𝐴 ∈ ( ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∪ ( { 𝐵 } ∪ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) ) )
18 elun ( 𝐴 ∈ ( { 𝐵 } ∪ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) ↔ ( 𝐴 ∈ { 𝐵 } ∨ 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) )
19 18 orbi2i ( ( 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∨ 𝐴 ∈ ( { 𝐵 } ∪ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) ) ↔ ( 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∨ ( 𝐴 ∈ { 𝐵 } ∨ 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) ) )
20 elun ( 𝐴 ∈ ( ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∪ ( { 𝐵 } ∪ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) ) ↔ ( 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∨ 𝐴 ∈ ( { 𝐵 } ∪ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) ) )
21 3orass ( ( 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∨ 𝐴 ∈ { 𝐵 } ∨ 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) ↔ ( 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∨ ( 𝐴 ∈ { 𝐵 } ∨ 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) ) )
22 19 20 21 3bitr4i ( 𝐴 ∈ ( ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∪ ( { 𝐵 } ∪ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) ) ↔ ( 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∨ 𝐴 ∈ { 𝐵 } ∨ 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) )
23 17 22 sylib ( 𝜑 → ( 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∨ 𝐴 ∈ { 𝐵 } ∨ 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) )
24 eliniseg2 ( Rel ( t+ ‘ 𝐹 ) → ( 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ↔ 𝐴 ( t+ ‘ 𝐹 ) 𝐵 ) )
25 8 24 syl ( 𝜑 → ( 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ↔ 𝐴 ( t+ ‘ 𝐹 ) 𝐵 ) )
26 25 biimpd ( 𝜑 → ( 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) → 𝐴 ( t+ ‘ 𝐹 ) 𝐵 ) )
27 elsni ( 𝐴 ∈ { 𝐵 } → 𝐴 = 𝐵 )
28 27 a1i ( 𝜑 → ( 𝐴 ∈ { 𝐵 } → 𝐴 = 𝐵 ) )
29 elrelimasn ( Rel ( t+ ‘ 𝐹 ) → ( 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ↔ 𝐵 ( t+ ‘ 𝐹 ) 𝐴 ) )
30 8 29 syl ( 𝜑 → ( 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ↔ 𝐵 ( t+ ‘ 𝐹 ) 𝐴 ) )
31 30 biimpd ( 𝜑 → ( 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) → 𝐵 ( t+ ‘ 𝐹 ) 𝐴 ) )
32 26 28 31 3orim123d ( 𝜑 → ( ( 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ∨ 𝐴 ∈ { 𝐵 } ∨ 𝐴 ∈ ( ( t+ ‘ 𝐹 ) “ { 𝐵 } ) ) → ( 𝐴 ( t+ ‘ 𝐹 ) 𝐵𝐴 = 𝐵𝐵 ( t+ ‘ 𝐹 ) 𝐴 ) ) )
33 23 32 mpd ( 𝜑 → ( 𝐴 ( t+ ‘ 𝐹 ) 𝐵𝐴 = 𝐵𝐵 ( t+ ‘ 𝐹 ) 𝐴 ) )