Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
Mirrors > Home > MPE Home > Th. List > hashprg | Structured version Visualization version GIF version |
Description: The size of an unordered pair. (Contributed by Mario Carneiro, 27-Sep-2013.) (Revised by Mario Carneiro, 5-May-2016.) (Revised by AV, 18-Sep-2021.) |
Ref | Expression |
---|---|
hashprg | ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴 ≠ 𝐵 ↔ (#‘{𝐴, 𝐵}) = 2)) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | simpr 476 | . . . . 5 ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → 𝐵 ∈ 𝑊) | |
2 | elsni 4142 | . . . . . . 7 ⊢ (𝐵 ∈ {𝐴} → 𝐵 = 𝐴) | |
3 | 2 | eqcomd 2616 | . . . . . 6 ⊢ (𝐵 ∈ {𝐴} → 𝐴 = 𝐵) |
4 | 3 | necon3ai 2807 | . . . . 5 ⊢ (𝐴 ≠ 𝐵 → ¬ 𝐵 ∈ {𝐴}) |
5 | snfi 7923 | . . . . . 6 ⊢ {𝐴} ∈ Fin | |
6 | hashunsng 13042 | . . . . . . 7 ⊢ (𝐵 ∈ 𝑊 → (({𝐴} ∈ Fin ∧ ¬ 𝐵 ∈ {𝐴}) → (#‘({𝐴} ∪ {𝐵})) = ((#‘{𝐴}) + 1))) | |
7 | 6 | imp 444 | . . . . . 6 ⊢ ((𝐵 ∈ 𝑊 ∧ ({𝐴} ∈ Fin ∧ ¬ 𝐵 ∈ {𝐴})) → (#‘({𝐴} ∪ {𝐵})) = ((#‘{𝐴}) + 1)) |
8 | 5, 7 | mpanr1 715 | . . . . 5 ⊢ ((𝐵 ∈ 𝑊 ∧ ¬ 𝐵 ∈ {𝐴}) → (#‘({𝐴} ∪ {𝐵})) = ((#‘{𝐴}) + 1)) |
9 | 1, 4, 8 | syl2an 493 | . . . 4 ⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) ∧ 𝐴 ≠ 𝐵) → (#‘({𝐴} ∪ {𝐵})) = ((#‘{𝐴}) + 1)) |
10 | hashsng 13020 | . . . . . . 7 ⊢ (𝐴 ∈ 𝑉 → (#‘{𝐴}) = 1) | |
11 | 10 | adantr 480 | . . . . . 6 ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (#‘{𝐴}) = 1) |
12 | 11 | adantr 480 | . . . . 5 ⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) ∧ 𝐴 ≠ 𝐵) → (#‘{𝐴}) = 1) |
13 | 12 | oveq1d 6564 | . . . 4 ⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) ∧ 𝐴 ≠ 𝐵) → ((#‘{𝐴}) + 1) = (1 + 1)) |
14 | 9, 13 | eqtrd 2644 | . . 3 ⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) ∧ 𝐴 ≠ 𝐵) → (#‘({𝐴} ∪ {𝐵})) = (1 + 1)) |
15 | df-pr 4128 | . . . 4 ⊢ {𝐴, 𝐵} = ({𝐴} ∪ {𝐵}) | |
16 | 15 | fveq2i 6106 | . . 3 ⊢ (#‘{𝐴, 𝐵}) = (#‘({𝐴} ∪ {𝐵})) |
17 | df-2 10956 | . . 3 ⊢ 2 = (1 + 1) | |
18 | 14, 16, 17 | 3eqtr4g 2669 | . 2 ⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) ∧ 𝐴 ≠ 𝐵) → (#‘{𝐴, 𝐵}) = 2) |
19 | 1ne2 11117 | . . . . . . 7 ⊢ 1 ≠ 2 | |
20 | 19 | a1i 11 | . . . . . 6 ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → 1 ≠ 2) |
21 | 11, 20 | eqnetrd 2849 | . . . . 5 ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (#‘{𝐴}) ≠ 2) |
22 | dfsn2 4138 | . . . . . . . 8 ⊢ {𝐴} = {𝐴, 𝐴} | |
23 | preq2 4213 | . . . . . . . 8 ⊢ (𝐴 = 𝐵 → {𝐴, 𝐴} = {𝐴, 𝐵}) | |
24 | 22, 23 | syl5req 2657 | . . . . . . 7 ⊢ (𝐴 = 𝐵 → {𝐴, 𝐵} = {𝐴}) |
25 | 24 | fveq2d 6107 | . . . . . 6 ⊢ (𝐴 = 𝐵 → (#‘{𝐴, 𝐵}) = (#‘{𝐴})) |
26 | 25 | neeq1d 2841 | . . . . 5 ⊢ (𝐴 = 𝐵 → ((#‘{𝐴, 𝐵}) ≠ 2 ↔ (#‘{𝐴}) ≠ 2)) |
27 | 21, 26 | syl5ibrcom 236 | . . . 4 ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴 = 𝐵 → (#‘{𝐴, 𝐵}) ≠ 2)) |
28 | 27 | necon2d 2805 | . . 3 ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → ((#‘{𝐴, 𝐵}) = 2 → 𝐴 ≠ 𝐵)) |
29 | 28 | imp 444 | . 2 ⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) ∧ (#‘{𝐴, 𝐵}) = 2) → 𝐴 ≠ 𝐵) |
30 | 18, 29 | impbida 873 | 1 ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴 ≠ 𝐵 ↔ (#‘{𝐴, 𝐵}) = 2)) |
Colors of variables: wff setvar class |
Syntax hints: ¬ wn 3 → wi 4 ↔ wb 195 ∧ wa 383 = wceq 1475 ∈ wcel 1977 ≠ wne 2780 ∪ cun 3538 {csn 4125 {cpr 4127 ‘cfv 5804 (class class class)co 6549 Fincfn 7841 1c1 9816 + caddc 9818 2c2 10947 #chash 12979 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1713 ax-4 1728 ax-5 1827 ax-6 1875 ax-7 1922 ax-8 1979 ax-9 1986 ax-10 2006 ax-11 2021 ax-12 2034 ax-13 2234 ax-ext 2590 ax-rep 4699 ax-sep 4709 ax-nul 4717 ax-pow 4769 ax-pr 4833 ax-un 6847 ax-cnex 9871 ax-resscn 9872 ax-1cn 9873 ax-icn 9874 ax-addcl 9875 ax-addrcl 9876 ax-mulcl 9877 ax-mulrcl 9878 ax-mulcom 9879 ax-addass 9880 ax-mulass 9881 ax-distr 9882 ax-i2m1 9883 ax-1ne0 9884 ax-1rid 9885 ax-rnegex 9886 ax-rrecex 9887 ax-cnre 9888 ax-pre-lttri 9889 ax-pre-lttrn 9890 ax-pre-ltadd 9891 ax-pre-mulgt0 9892 |
This theorem depends on definitions: df-bi 196 df-or 384 df-an 385 df-3or 1032 df-3an 1033 df-tru 1478 df-ex 1696 df-nf 1701 df-sb 1868 df-eu 2462 df-mo 2463 df-clab 2597 df-cleq 2603 df-clel 2606 df-nfc 2740 df-ne 2782 df-nel 2783 df-ral 2901 df-rex 2902 df-reu 2903 df-rmo 2904 df-rab 2905 df-v 3175 df-sbc 3403 df-csb 3500 df-dif 3543 df-un 3545 df-in 3547 df-ss 3554 df-pss 3556 df-nul 3875 df-if 4037 df-pw 4110 df-sn 4126 df-pr 4128 df-tp 4130 df-op 4132 df-uni 4373 df-int 4411 df-iun 4457 df-br 4584 df-opab 4644 df-mpt 4645 df-tr 4681 df-eprel 4949 df-id 4953 df-po 4959 df-so 4960 df-fr 4997 df-we 4999 df-xp 5044 df-rel 5045 df-cnv 5046 df-co 5047 df-dm 5048 df-rn 5049 df-res 5050 df-ima 5051 df-pred 5597 df-ord 5643 df-on 5644 df-lim 5645 df-suc 5646 df-iota 5768 df-fun 5806 df-fn 5807 df-f 5808 df-f1 5809 df-fo 5810 df-f1o 5811 df-fv 5812 df-riota 6511 df-ov 6552 df-oprab 6553 df-mpt2 6554 df-om 6958 df-1st 7059 df-2nd 7060 df-wrecs 7294 df-recs 7355 df-rdg 7393 df-1o 7447 df-oadd 7451 df-er 7629 df-en 7842 df-dom 7843 df-sdom 7844 df-fin 7845 df-card 8648 df-cda 8873 df-pnf 9955 df-mnf 9956 df-xr 9957 df-ltxr 9958 df-le 9959 df-sub 10147 df-neg 10148 df-nn 10898 df-2 10956 df-n0 11170 df-z 11255 df-uz 11564 df-fz 12198 df-hash 12980 |
This theorem is referenced by: hashprb 13046 prhash2ex 13048 hashfun 13084 hash2exprb 13110 nehash2 13113 hashtpg 13121 elss2prb 13123 wrdlen2i 13534 isnzr2hash 19085 dchrisum0re 25002 upgrex 25759 umgrbi 25767 coinflipprob 29868 subfacp1lem1 30415 poimirlem9 32588 fourierdlem54 39053 fourierdlem102 39101 fourierdlem103 39102 fourierdlem104 39103 fourierdlem114 39113 usgr1e 40471 cusgrexi 40662 cusgrfilem1 40671 umgr2v2e 40741 vdegp1bi-av 40753 eulerpathpr 41408 |
Copyright terms: Public domain | W3C validator |