Users' Mathboxes Mathbox for Scott Fenton < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  rankaltopb Structured version   Visualization version   GIF version

Theorem rankaltopb 36546
Description: Compute the rank of an alternate ordered pair. (Contributed by Scott Fenton, 18-Dec-2013.) (Revised by Mario Carneiro, 19-Apr-2014.)
Assertion
Ref Expression
rankaltopb ((𝐴 (𝑅1 “ On) ∧ 𝐵 (𝑅1 “ On)) → (rank‘⟪𝐴, 𝐵⟫) = suc suc ((rank‘𝐴) ∪ suc (rank‘𝐵)))

Proof of Theorem rankaltopb
StepHypRef Expression
1 snwf 9794 . . 3 (𝐵 (𝑅1 “ On) → {𝐵} ∈ (𝑅1 “ On))
2 df-altop 36525 . . . . . 6 𝐴, 𝐵⟫ = {{𝐴}, {𝐴, {𝐵}}}
32fveq2i 6885 . . . . 5 (rank‘⟪𝐴, 𝐵⟫) = (rank‘{{𝐴}, {𝐴, {𝐵}}})
4 snwf 9794 . . . . . . 7 (𝐴 (𝑅1 “ On) → {𝐴} ∈ (𝑅1 “ On))
54adantr 486 . . . . . 6 ((𝐴 (𝑅1 “ On) ∧ {𝐵} ∈ (𝑅1 “ On)) → {𝐴} ∈ (𝑅1 “ On))
6 prwf 9796 . . . . . 6 ((𝐴 (𝑅1 “ On) ∧ {𝐵} ∈ (𝑅1 “ On)) → {𝐴, {𝐵}} ∈ (𝑅1 “ On))
7 rankprb 9836 . . . . . 6 (({𝐴} ∈ (𝑅1 “ On) ∧ {𝐴, {𝐵}} ∈ (𝑅1 “ On)) → (rank‘{{𝐴}, {𝐴, {𝐵}}}) = suc ((rank‘{𝐴}) ∪ (rank‘{𝐴, {𝐵}})))
85, 6, 7syl2anc 596 . . . . 5 ((𝐴 (𝑅1 “ On) ∧ {𝐵} ∈ (𝑅1 “ On)) → (rank‘{{𝐴}, {𝐴, {𝐵}}}) = suc ((rank‘{𝐴}) ∪ (rank‘{𝐴, {𝐵}})))
93, 8eqtrid 2809 . . . 4 ((𝐴 (𝑅1 “ On) ∧ {𝐵} ∈ (𝑅1 “ On)) → (rank‘⟪𝐴, 𝐵⟫) = suc ((rank‘{𝐴}) ∪ (rank‘{𝐴, {𝐵}})))
10 snsspr1 4778 . . . . . . . 8 {𝐴} ⊆ {𝐴, {𝐵}}
11 ssequn1 4135 . . . . . . . 8 ({𝐴} ⊆ {𝐴, {𝐵}} ↔ ({𝐴} ∪ {𝐴, {𝐵}}) = {𝐴, {𝐵}})
1210, 11mpbi 233 . . . . . . 7 ({𝐴} ∪ {𝐴, {𝐵}}) = {𝐴, {𝐵}}
1312fveq2i 6885 . . . . . 6 (rank‘({𝐴} ∪ {𝐴, {𝐵}})) = (rank‘{𝐴, {𝐵}})
14 rankunb 9835 . . . . . . 7 (({𝐴} ∈ (𝑅1 “ On) ∧ {𝐴, {𝐵}} ∈ (𝑅1 “ On)) → (rank‘({𝐴} ∪ {𝐴, {𝐵}})) = ((rank‘{𝐴}) ∪ (rank‘{𝐴, {𝐵}})))
155, 6, 14syl2anc 596 . . . . . 6 ((𝐴 (𝑅1 “ On) ∧ {𝐵} ∈ (𝑅1 “ On)) → (rank‘({𝐴} ∪ {𝐴, {𝐵}})) = ((rank‘{𝐴}) ∪ (rank‘{𝐴, {𝐵}})))
16 rankprb 9836 . . . . . 6 ((𝐴 (𝑅1 “ On) ∧ {𝐵} ∈ (𝑅1 “ On)) → (rank‘{𝐴, {𝐵}}) = suc ((rank‘𝐴) ∪ (rank‘{𝐵})))
1713, 15, 163eqtr3a 2821 . . . . 5 ((𝐴 (𝑅1 “ On) ∧ {𝐵} ∈ (𝑅1 “ On)) → ((rank‘{𝐴}) ∪ (rank‘{𝐴, {𝐵}})) = suc ((rank‘𝐴) ∪ (rank‘{𝐵})))
18 suceq 6430 . . . . 5 (((rank‘{𝐴}) ∪ (rank‘{𝐴, {𝐵}})) = suc ((rank‘𝐴) ∪ (rank‘{𝐵})) → suc ((rank‘{𝐴}) ∪ (rank‘{𝐴, {𝐵}})) = suc suc ((rank‘𝐴) ∪ (rank‘{𝐵})))
1917, 18syl 18 . . . 4 ((𝐴 (𝑅1 “ On) ∧ {𝐵} ∈ (𝑅1 “ On)) → suc ((rank‘{𝐴}) ∪ (rank‘{𝐴, {𝐵}})) = suc suc ((rank‘𝐴) ∪ (rank‘{𝐵})))
209, 19eqtrd 2797 . . 3 ((𝐴 (𝑅1 “ On) ∧ {𝐵} ∈ (𝑅1 “ On)) → (rank‘⟪𝐴, 𝐵⟫) = suc suc ((rank‘𝐴) ∪ (rank‘{𝐵})))
211, 20sylan2 605 . 2 ((𝐴 (𝑅1 “ On) ∧ 𝐵 (𝑅1 “ On)) → (rank‘⟪𝐴, 𝐵⟫) = suc suc ((rank‘𝐴) ∪ (rank‘{𝐵})))
22 ranksnb 9812 . . . . 5 (𝐵 (𝑅1 “ On) → (rank‘{𝐵}) = suc (rank‘𝐵))
2322uneq2d 4118 . . . 4 (𝐵 (𝑅1 “ On) → ((rank‘𝐴) ∪ (rank‘{𝐵})) = ((rank‘𝐴) ∪ suc (rank‘𝐵)))
24 suceq 6430 . . . 4 (((rank‘𝐴) ∪ (rank‘{𝐵})) = ((rank‘𝐴) ∪ suc (rank‘𝐵)) → suc ((rank‘𝐴) ∪ (rank‘{𝐵})) = suc ((rank‘𝐴) ∪ suc (rank‘𝐵)))
25 suceq 6430 . . . 4 (suc ((rank‘𝐴) ∪ (rank‘{𝐵})) = suc ((rank‘𝐴) ∪ suc (rank‘𝐵)) → suc suc ((rank‘𝐴) ∪ (rank‘{𝐵})) = suc suc ((rank‘𝐴) ∪ suc (rank‘𝐵)))
2623, 24, 253syl 19 . . 3 (𝐵 (𝑅1 “ On) → suc suc ((rank‘𝐴) ∪ (rank‘{𝐵})) = suc suc ((rank‘𝐴) ∪ suc (rank‘𝐵)))
2726adantl 487 . 2 ((𝐴 (𝑅1 “ On) ∧ 𝐵 (𝑅1 “ On)) → suc suc ((rank‘𝐴) ∪ (rank‘{𝐵})) = suc suc ((rank‘𝐴) ∪ suc (rank‘𝐵)))
2821, 27eqtrd 2797 1 ((𝐴 (𝑅1 “ On) ∧ 𝐵 (𝑅1 “ On)) → (rank‘⟪𝐴, 𝐵⟫) = suc suc ((rank‘𝐴) ∪ suc (rank‘𝐵)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wa 401   = wceq 1570  wcel 2145  cun 3900  wss 3902  {csn 4587  {cpr 4589   cuni 4870  cima 5662  Oncon0 6361  suc csuc 6363  cfv 6537  𝑅1cr1 9747  rankcrnk 9748  caltop 36523
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2215  ax-ext 2734  ax-sep 5255  ax-nul 5267  ax-pow 5334  ax-pr 5402  ax-un 7739
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-ral 3079  df-rex 3089  df-reu 3368  df-rab 3415  df-v 3455  df-sbc 3743  df-csb 3851  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-pss 3922  df-nul 4283  df-if 4486  df-pw 4562  df-sn 4588  df-pr 4590  df-op 4594  df-uni 4871  df-int 4911  df-iun 4956  df-br 5108  df-opab 5172  df-mpt 5191  df-tr 5217  df-id 5554  df-eprel 5559  df-po 5567  df-so 5568  df-fr 5612  df-we 5614  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-rn 5670  df-res 5671  df-ima 5672  df-pred 6303  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6493  df-fun 6539  df-fn 6540  df-f 6541  df-f1 6542  df-fo 6543  df-f1o 6544  df-fv 6545  df-ov 7419  df-om 7866  df-2nd 7990  df-frecs 8283  df-wrecs 8314  df-recs 8363  df-rdg 8402  df-r1 9749  df-rank 9750  df-altop 36525
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator