This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.

Metamath Proof Explorer


Theorem mreexmrid

Description: In a Moore system whose closure operator has the exchange property, if a set is independent and an element is not in its closure, then adding the element to the set gives another independent set. Lemma 4.1.5 in FaureFrolicher p. 84. (Contributed by David Moews, 1-May-2017)

Ref Expression
Hypotheses mreexmrid.1 ( 𝜑𝐴 ∈ ( Moore ‘ 𝑋 ) )
mreexmrid.2 𝑁 = ( mrCls ‘ 𝐴 )
mreexmrid.3 𝐼 = ( mrInd ‘ 𝐴 )
mreexmrid.4 ( 𝜑 → ∀ 𝑠 ∈ 𝒫 𝑋𝑦𝑋𝑧 ∈ ( ( 𝑁 ‘ ( 𝑠 ∪ { 𝑦 } ) ) ∖ ( 𝑁𝑠 ) ) 𝑦 ∈ ( 𝑁 ‘ ( 𝑠 ∪ { 𝑧 } ) ) )
mreexmrid.5 ( 𝜑𝑆𝐼 )
mreexmrid.6 ( 𝜑𝑌𝑋 )
mreexmrid.7 ( 𝜑 → ¬ 𝑌 ∈ ( 𝑁𝑆 ) )
Assertion mreexmrid ( 𝜑 → ( 𝑆 ∪ { 𝑌 } ) ∈ 𝐼 )

Proof

Step Hyp Ref Expression
1 mreexmrid.1 ( 𝜑𝐴 ∈ ( Moore ‘ 𝑋 ) )
2 mreexmrid.2 𝑁 = ( mrCls ‘ 𝐴 )
3 mreexmrid.3 𝐼 = ( mrInd ‘ 𝐴 )
4 mreexmrid.4 ( 𝜑 → ∀ 𝑠 ∈ 𝒫 𝑋𝑦𝑋𝑧 ∈ ( ( 𝑁 ‘ ( 𝑠 ∪ { 𝑦 } ) ) ∖ ( 𝑁𝑠 ) ) 𝑦 ∈ ( 𝑁 ‘ ( 𝑠 ∪ { 𝑧 } ) ) )
5 mreexmrid.5 ( 𝜑𝑆𝐼 )
6 mreexmrid.6 ( 𝜑𝑌𝑋 )
7 mreexmrid.7 ( 𝜑 → ¬ 𝑌 ∈ ( 𝑁𝑆 ) )
8 3 1 5 mrissd ( 𝜑𝑆𝑋 )
9 6 snssd ( 𝜑 → { 𝑌 } ⊆ 𝑋 )
10 8 9 unssd ( 𝜑 → ( 𝑆 ∪ { 𝑌 } ) ⊆ 𝑋 )
11 1 3ad2ant1 ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → 𝐴 ∈ ( Moore ‘ 𝑋 ) )
12 11 elfvexd ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → 𝑋 ∈ V )
13 4 3ad2ant1 ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → ∀ 𝑠 ∈ 𝒫 𝑋𝑦𝑋𝑧 ∈ ( ( 𝑁 ‘ ( 𝑠 ∪ { 𝑦 } ) ) ∖ ( 𝑁𝑠 ) ) 𝑦 ∈ ( 𝑁 ‘ ( 𝑠 ∪ { 𝑧 } ) ) )
14 5 3ad2ant1 ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → 𝑆𝐼 )
15 3 11 14 mrissd ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → 𝑆𝑋 )
16 15 ssdifssd ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → ( 𝑆 ∖ { 𝑥 } ) ⊆ 𝑋 )
17 6 3ad2ant1 ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → 𝑌𝑋 )
18 simp3 ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → 𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) )
19 difundir ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) = ( ( 𝑆 ∖ { 𝑥 } ) ∪ ( { 𝑌 } ∖ { 𝑥 } ) )
20 simp2 ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → 𝑥𝑆 )
21 1 2 8 mrcssidd ( 𝜑𝑆 ⊆ ( 𝑁𝑆 ) )
22 21 7 ssneldd ( 𝜑 → ¬ 𝑌𝑆 )
23 22 3ad2ant1 ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → ¬ 𝑌𝑆 )
24 nelneq ( ( 𝑥𝑆 ∧ ¬ 𝑌𝑆 ) → ¬ 𝑥 = 𝑌 )
25 20 23 24 syl2anc ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → ¬ 𝑥 = 𝑌 )
26 elsni ( 𝑥 ∈ { 𝑌 } → 𝑥 = 𝑌 )
27 25 26 nsyl ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → ¬ 𝑥 ∈ { 𝑌 } )
28 difsnb ( ¬ 𝑥 ∈ { 𝑌 } ↔ ( { 𝑌 } ∖ { 𝑥 } ) = { 𝑌 } )
29 27 28 sylib ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → ( { 𝑌 } ∖ { 𝑥 } ) = { 𝑌 } )
30 29 uneq2d ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → ( ( 𝑆 ∖ { 𝑥 } ) ∪ ( { 𝑌 } ∖ { 𝑥 } ) ) = ( ( 𝑆 ∖ { 𝑥 } ) ∪ { 𝑌 } ) )
31 19 30 eqtrid ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) = ( ( 𝑆 ∖ { 𝑥 } ) ∪ { 𝑌 } ) )
32 31 fveq2d ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) = ( 𝑁 ‘ ( ( 𝑆 ∖ { 𝑥 } ) ∪ { 𝑌 } ) ) )
33 18 32 eleqtrd ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → 𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∖ { 𝑥 } ) ∪ { 𝑌 } ) ) )
34 2 3 11 14 20 ismri2dad ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → ¬ 𝑥 ∈ ( 𝑁 ‘ ( 𝑆 ∖ { 𝑥 } ) ) )
35 12 13 16 17 33 34 mreexd ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → 𝑌 ∈ ( 𝑁 ‘ ( ( 𝑆 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) )
36 7 3ad2ant1 ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → ¬ 𝑌 ∈ ( 𝑁𝑆 ) )
37 undif1 ( ( 𝑆 ∖ { 𝑥 } ) ∪ { 𝑥 } ) = ( 𝑆 ∪ { 𝑥 } )
38 20 snssd ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → { 𝑥 } ⊆ 𝑆 )
39 ssequn2 ( { 𝑥 } ⊆ 𝑆 ↔ ( 𝑆 ∪ { 𝑥 } ) = 𝑆 )
40 38 39 sylib ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → ( 𝑆 ∪ { 𝑥 } ) = 𝑆 )
41 37 40 eqtrid ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → ( ( 𝑆 ∖ { 𝑥 } ) ∪ { 𝑥 } ) = 𝑆 )
42 41 fveq2d ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → ( 𝑁 ‘ ( ( 𝑆 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) = ( 𝑁𝑆 ) )
43 36 42 neleqtrrd ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) → ¬ 𝑌 ∈ ( 𝑁 ‘ ( ( 𝑆 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) )
44 35 43 pm2.65i ¬ ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) )
45 df-3an ( ( 𝜑𝑥𝑆𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) ↔ ( ( 𝜑𝑥𝑆 ) ∧ 𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) ) )
46 44 45 mtbi ¬ ( ( 𝜑𝑥𝑆 ) ∧ 𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) )
47 46 imnani ( ( 𝜑𝑥𝑆 ) → ¬ 𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) )
48 47 adantlr ( ( ( 𝜑𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ) ∧ 𝑥𝑆 ) → ¬ 𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) )
49 26 adantl ( ( ( 𝜑𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ) ∧ 𝑥 ∈ { 𝑌 } ) → 𝑥 = 𝑌 )
50 7 ad2antrr ( ( ( 𝜑𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ) ∧ 𝑥 ∈ { 𝑌 } ) → ¬ 𝑌 ∈ ( 𝑁𝑆 ) )
51 49 50 eqneltrd ( ( ( 𝜑𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ) ∧ 𝑥 ∈ { 𝑌 } ) → ¬ 𝑥 ∈ ( 𝑁𝑆 ) )
52 49 sneqd ( ( ( 𝜑𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ) ∧ 𝑥 ∈ { 𝑌 } ) → { 𝑥 } = { 𝑌 } )
53 52 difeq2d ( ( ( 𝜑𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ) ∧ 𝑥 ∈ { 𝑌 } ) → ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) = ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑌 } ) )
54 difun2 ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑌 } ) = ( 𝑆 ∖ { 𝑌 } )
55 53 54 eqtrdi ( ( ( 𝜑𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ) ∧ 𝑥 ∈ { 𝑌 } ) → ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) = ( 𝑆 ∖ { 𝑌 } ) )
56 difsnb ( ¬ 𝑌𝑆 ↔ ( 𝑆 ∖ { 𝑌 } ) = 𝑆 )
57 22 56 sylib ( 𝜑 → ( 𝑆 ∖ { 𝑌 } ) = 𝑆 )
58 57 ad2antrr ( ( ( 𝜑𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ) ∧ 𝑥 ∈ { 𝑌 } ) → ( 𝑆 ∖ { 𝑌 } ) = 𝑆 )
59 55 58 eqtrd ( ( ( 𝜑𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ) ∧ 𝑥 ∈ { 𝑌 } ) → ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) = 𝑆 )
60 59 fveq2d ( ( ( 𝜑𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ) ∧ 𝑥 ∈ { 𝑌 } ) → ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) = ( 𝑁𝑆 ) )
61 51 60 neleqtrrd ( ( ( 𝜑𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ) ∧ 𝑥 ∈ { 𝑌 } ) → ¬ 𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) )
62 simpr ( ( 𝜑𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ) → 𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) )
63 elun ( 𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ↔ ( 𝑥𝑆𝑥 ∈ { 𝑌 } ) )
64 62 63 sylib ( ( 𝜑𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ) → ( 𝑥𝑆𝑥 ∈ { 𝑌 } ) )
65 48 61 64 mpjaodan ( ( 𝜑𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ) → ¬ 𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) )
66 65 ralrimiva ( 𝜑 → ∀ 𝑥 ∈ ( 𝑆 ∪ { 𝑌 } ) ¬ 𝑥 ∈ ( 𝑁 ‘ ( ( 𝑆 ∪ { 𝑌 } ) ∖ { 𝑥 } ) ) )
67 2 3 1 10 66 ismri2dd ( 𝜑 → ( 𝑆 ∪ { 𝑌 } ) ∈ 𝐼 )