Metamath Proof Explorer


Theorem ballotlemrinv0

Description: Lemma for ballotlemrinv . (Contributed by Thierry Arnoux, 18-Apr-2017)

Ref Expression
Hypotheses ballotth.m ⊢ M ∈ ℕ
ballotth.n ⊢ N ∈ ℕ
ballotth.o ⊢ O = c ∈ 𝒫 1 … M + N | c = M
ballotth.p ⊢ P = x ∈ 𝒫 O ⟼ x O
ballotth.f ⊢ F = c ∈ O ⟼ i ∈ ℤ ⟼ 1 … i ∩ c − 1 … i ∖ c
ballotth.e ⊢ E = c ∈ O | ∀ i ∈ 1 … M + N 0 < F ⁡ c ⁡ i
ballotth.mgtn ⊢ N < M
ballotth.i ⊢ I = c ∈ O ∖ E ⟼ inf k ∈ 1 … M + N | F ⁡ c ⁡ k = 0 ℝ <
ballotth.s ⊢ S = c ∈ O ∖ E ⟼ i ∈ 1 … M + N ⟼ if i ≤ I ⁡ c I ⁡ c + 1 - i i
ballotth.r ⊢ R = c ∈ O ∖ E ⟼ S ⁡ c c
Assertion ballotlemrinv0 ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → D ∈ O ∖ E ∧ C = S ⁡ D D

Proof

Step Hyp Ref Expression
1 ballotth.m ⊢ M ∈ ℕ
2 ballotth.n ⊢ N ∈ ℕ
3 ballotth.o ⊢ O = c ∈ 𝒫 1 … M + N | c = M
4 ballotth.p ⊢ P = x ∈ 𝒫 O ⟼ x O
5 ballotth.f ⊢ F = c ∈ O ⟼ i ∈ ℤ ⟼ 1 … i ∩ c − 1 … i ∖ c
6 ballotth.e ⊢ E = c ∈ O | ∀ i ∈ 1 … M + N 0 < F ⁡ c ⁡ i
7 ballotth.mgtn ⊢ N < M
8 ballotth.i ⊢ I = c ∈ O ∖ E ⟼ inf k ∈ 1 … M + N | F ⁡ c ⁡ k = 0 ℝ <
9 ballotth.s ⊢ S = c ∈ O ∖ E ⟼ i ∈ 1 … M + N ⟼ if i ≤ I ⁡ c I ⁡ c + 1 - i i
10 ballotth.r ⊢ R = c ∈ O ∖ E ⟼ S ⁡ c c
11 1 2 3 4 5 6 7 8 9 10 ballotlemrval ⊢ C ∈ O ∖ E → R ⁡ C = S ⁡ C C
12 11 adantr ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → R ⁡ C = S ⁡ C C
13 simpr ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → D = S ⁡ C C
14 12 13 eqtr4d ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → R ⁡ C = D
15 1 2 3 4 5 6 7 8 9 10 ballotlemrc ⊢ C ∈ O ∖ E → R ⁡ C ∈ O ∖ E
16 15 adantr ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → R ⁡ C ∈ O ∖ E
17 14 16 eqeltrrd ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → D ∈ O ∖ E
18 1 2 3 4 5 6 7 8 9 ballotlemsf1o ⊢ C ∈ O ∖ E → S ⁡ C : 1 … M + N ⟶ 1-1 onto 1 … M + N ∧ S ⁡ C -1 = S ⁡ C
19 18 simprd ⊢ C ∈ O ∖ E → S ⁡ C -1 = S ⁡ C
20 19 adantr ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → S ⁡ C -1 = S ⁡ C
21 20 eqcomd ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → S ⁡ C = S ⁡ C -1
22 21 13 imaeq12d ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → S ⁡ C D = S ⁡ C -1 S ⁡ C C
23 simpl ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → C ∈ O ∖ E
24 1 2 3 4 5 6 7 8 9 10 ballotlemirc ⊢ C ∈ O ∖ E → I ⁡ R ⁡ C = I ⁡ C
25 24 adantr ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → I ⁡ R ⁡ C = I ⁡ C
26 14 fveq2d ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → I ⁡ R ⁡ C = I ⁡ D
27 25 26 eqtr3d ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → I ⁡ C = I ⁡ D
28 1 2 3 4 5 6 7 8 9 ballotlemieq ⊢ C ∈ O ∖ E ∧ D ∈ O ∖ E ∧ I ⁡ C = I ⁡ D → S ⁡ C = S ⁡ D
29 23 17 27 28 syl3anc ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → S ⁡ C = S ⁡ D
30 29 imaeq1d ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → S ⁡ C D = S ⁡ D D
31 18 simpld ⊢ C ∈ O ∖ E → S ⁡ C : 1 … M + N ⟶ 1-1 onto 1 … M + N
32 f1of1 ⊢ S ⁡ C : 1 … M + N ⟶ 1-1 onto 1 … M + N → S ⁡ C : 1 … M + N ⟶ 1-1 1 … M + N
33 23 31 32 3syl ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → S ⁡ C : 1 … M + N ⟶ 1-1 1 … M + N
34 eldifi ⊢ C ∈ O ∖ E → C ∈ O
35 1 2 3 ballotlemelo ⊢ C ∈ O ↔ C ⊆ 1 … M + N ∧ C = M
36 35 simplbi ⊢ C ∈ O → C ⊆ 1 … M + N
37 23 34 36 3syl ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → C ⊆ 1 … M + N
38 f1imacnv ⊢ S ⁡ C : 1 … M + N ⟶ 1-1 1 … M + N ∧ C ⊆ 1 … M + N → S ⁡ C -1 S ⁡ C C = C
39 33 37 38 syl2anc ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → S ⁡ C -1 S ⁡ C C = C
40 22 30 39 3eqtr3rd ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → C = S ⁡ D D
41 17 40 jca ⊢ C ∈ O ∖ E ∧ D = S ⁡ C C → D ∈ O ∖ E ∧ C = S ⁡ D D