Metamath Proof Explorer


Theorem dford4

Description: dford3 expressed in primitives to demonstrate shortness. (Contributed by Stefan O'Rear, 28-Oct-2014)

Ref Expression
Assertion dford4 ( Ord 𝑁 ↔ ∀ 𝑎𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑏𝑁 ∧ ( 𝑐𝑏𝑐𝑎 ) ) ) )

Proof

Step Hyp Ref Expression
1 dford3 ( Ord 𝑁 ↔ ( Tr 𝑁 ∧ ∀ 𝑎𝑁 Tr 𝑎 ) )
2 dftr2 ( Tr 𝑁 ↔ ∀ 𝑏𝑎 ( ( 𝑏𝑎𝑎𝑁 ) → 𝑏𝑁 ) )
3 19.3v ( ∀ 𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) ↔ ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) )
4 ancom ( ( 𝑎𝑁𝑏𝑎 ) ↔ ( 𝑏𝑎𝑎𝑁 ) )
5 4 imbi1i ( ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) ↔ ( ( 𝑏𝑎𝑎𝑁 ) → 𝑏𝑁 ) )
6 3 5 bitri ( ∀ 𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) ↔ ( ( 𝑏𝑎𝑎𝑁 ) → 𝑏𝑁 ) )
7 6 2albii ( ∀ 𝑎𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) ↔ ∀ 𝑎𝑏 ( ( 𝑏𝑎𝑎𝑁 ) → 𝑏𝑁 ) )
8 alcom ( ∀ 𝑎𝑏 ( ( 𝑏𝑎𝑎𝑁 ) → 𝑏𝑁 ) ↔ ∀ 𝑏𝑎 ( ( 𝑏𝑎𝑎𝑁 ) → 𝑏𝑁 ) )
9 7 8 bitri ( ∀ 𝑎𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) ↔ ∀ 𝑏𝑎 ( ( 𝑏𝑎𝑎𝑁 ) → 𝑏𝑁 ) )
10 2 9 bitr4i ( Tr 𝑁 ↔ ∀ 𝑎𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) )
11 df-ral ( ∀ 𝑎𝑁 Tr 𝑎 ↔ ∀ 𝑎 ( 𝑎𝑁 → Tr 𝑎 ) )
12 dftr2 ( Tr 𝑎 ↔ ∀ 𝑐𝑏 ( ( 𝑐𝑏𝑏𝑎 ) → 𝑐𝑎 ) )
13 12 imbi2i ( ( 𝑎𝑁 → Tr 𝑎 ) ↔ ( 𝑎𝑁 → ∀ 𝑐𝑏 ( ( 𝑐𝑏𝑏𝑎 ) → 𝑐𝑎 ) ) )
14 nfv 𝑐 𝑎𝑁
15 nfv 𝑏 𝑎𝑁
16 14 15 19.21-2 ( ∀ 𝑐𝑏 ( 𝑎𝑁 → ( ( 𝑐𝑏𝑏𝑎 ) → 𝑐𝑎 ) ) ↔ ( 𝑎𝑁 → ∀ 𝑐𝑏 ( ( 𝑐𝑏𝑏𝑎 ) → 𝑐𝑎 ) ) )
17 13 16 bitr4i ( ( 𝑎𝑁 → Tr 𝑎 ) ↔ ∀ 𝑐𝑏 ( 𝑎𝑁 → ( ( 𝑐𝑏𝑏𝑎 ) → 𝑐𝑎 ) ) )
18 impexp ( ( ( 𝑎𝑁 ∧ ( 𝑐𝑏𝑏𝑎 ) ) → 𝑐𝑎 ) ↔ ( 𝑎𝑁 → ( ( 𝑐𝑏𝑏𝑎 ) → 𝑐𝑎 ) ) )
19 ancom ( ( 𝑐𝑏𝑏𝑎 ) ↔ ( 𝑏𝑎𝑐𝑏 ) )
20 19 anbi2i ( ( 𝑎𝑁 ∧ ( 𝑐𝑏𝑏𝑎 ) ) ↔ ( 𝑎𝑁 ∧ ( 𝑏𝑎𝑐𝑏 ) ) )
21 anass ( ( ( 𝑎𝑁𝑏𝑎 ) ∧ 𝑐𝑏 ) ↔ ( 𝑎𝑁 ∧ ( 𝑏𝑎𝑐𝑏 ) ) )
22 20 21 bitr4i ( ( 𝑎𝑁 ∧ ( 𝑐𝑏𝑏𝑎 ) ) ↔ ( ( 𝑎𝑁𝑏𝑎 ) ∧ 𝑐𝑏 ) )
23 22 imbi1i ( ( ( 𝑎𝑁 ∧ ( 𝑐𝑏𝑏𝑎 ) ) → 𝑐𝑎 ) ↔ ( ( ( 𝑎𝑁𝑏𝑎 ) ∧ 𝑐𝑏 ) → 𝑐𝑎 ) )
24 18 23 bitr3i ( ( 𝑎𝑁 → ( ( 𝑐𝑏𝑏𝑎 ) → 𝑐𝑎 ) ) ↔ ( ( ( 𝑎𝑁𝑏𝑎 ) ∧ 𝑐𝑏 ) → 𝑐𝑎 ) )
25 impexp ( ( ( ( 𝑎𝑁𝑏𝑎 ) ∧ 𝑐𝑏 ) → 𝑐𝑎 ) ↔ ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) )
26 24 25 bitri ( ( 𝑎𝑁 → ( ( 𝑐𝑏𝑏𝑎 ) → 𝑐𝑎 ) ) ↔ ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) )
27 26 2albii ( ∀ 𝑐𝑏 ( 𝑎𝑁 → ( ( 𝑐𝑏𝑏𝑎 ) → 𝑐𝑎 ) ) ↔ ∀ 𝑐𝑏 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) )
28 alcom ( ∀ 𝑐𝑏 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) ↔ ∀ 𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) )
29 17 27 28 3bitri ( ( 𝑎𝑁 → Tr 𝑎 ) ↔ ∀ 𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) )
30 29 albii ( ∀ 𝑎 ( 𝑎𝑁 → Tr 𝑎 ) ↔ ∀ 𝑎𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) )
31 11 30 bitri ( ∀ 𝑎𝑁 Tr 𝑎 ↔ ∀ 𝑎𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) )
32 10 31 anbi12i ( ( Tr 𝑁 ∧ ∀ 𝑎𝑁 Tr 𝑎 ) ↔ ( ∀ 𝑎𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) ∧ ∀ 𝑎𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) ) )
33 19.26 ( ∀ 𝑎 ( ∀ 𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) ∧ ∀ 𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) ) ↔ ( ∀ 𝑎𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) ∧ ∀ 𝑎𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) ) )
34 32 33 bitr4i ( ( Tr 𝑁 ∧ ∀ 𝑎𝑁 Tr 𝑎 ) ↔ ∀ 𝑎 ( ∀ 𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) ∧ ∀ 𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) ) )
35 19.26-2 ( ∀ 𝑏𝑐 ( ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) ∧ ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) ) ↔ ( ∀ 𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) ∧ ∀ 𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) ) )
36 pm4.76 ( ( ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) ∧ ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) ) ↔ ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑏𝑁 ∧ ( 𝑐𝑏𝑐𝑎 ) ) ) )
37 36 2albii ( ∀ 𝑏𝑐 ( ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) ∧ ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) ) ↔ ∀ 𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑏𝑁 ∧ ( 𝑐𝑏𝑐𝑎 ) ) ) )
38 35 37 bitr3i ( ( ∀ 𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) ∧ ∀ 𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) ) ↔ ∀ 𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑏𝑁 ∧ ( 𝑐𝑏𝑐𝑎 ) ) ) )
39 38 albii ( ∀ 𝑎 ( ∀ 𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → 𝑏𝑁 ) ∧ ∀ 𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑐𝑏𝑐𝑎 ) ) ) ↔ ∀ 𝑎𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑏𝑁 ∧ ( 𝑐𝑏𝑐𝑎 ) ) ) )
40 1 34 39 3bitri ( Ord 𝑁 ↔ ∀ 𝑎𝑏𝑐 ( ( 𝑎𝑁𝑏𝑎 ) → ( 𝑏𝑁 ∧ ( 𝑐𝑏𝑐𝑎 ) ) ) )