MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  eucrctshift Structured version   Visualization version   GIF version

Theorem eucrctshift 30777
Description: Cyclically shifting the indices of an Eulerian circuit ⟨𝐹, 𝑃⟩ results in an Eulerian circuit ⟨𝐻, 𝑄⟩. (Contributed by AV, 15-Mar-2021.) (Proof shortened by AV, 30-Oct-2021.)
Hypotheses
Ref Expression
eucrctshift.v 𝑉 = (Vtx‘𝐺)
eucrctshift.i 𝐼 = (iEdg‘𝐺)
eucrctshift.c (𝜑 → 𝐹(Circuits‘𝐺)𝑃)
eucrctshift.n 𝑁 = (♯‘𝐹)
eucrctshift.s (𝜑 → 𝑆 ∈ (0..^𝑁))
eucrctshift.h 𝐻 = (𝐹 cyclShift 𝑆)
eucrctshift.q 𝑄 = (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ (𝑁 − 𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))))
eucrctshift.e (𝜑 → 𝐹(EulerPaths‘𝐺)𝑃)
Assertion
Ref Expression
eucrctshift (𝜑 → (𝐻(EulerPaths‘𝐺)𝑄 ∧ 𝐻(Circuits‘𝐺)𝑄))
Distinct variable groups:   𝑥,𝐹   𝑥,𝐻   𝑥,𝐼   𝑥,𝑁   𝑥,𝑃   𝑥,𝑆   𝑥,𝑉   𝜑,𝑥
Allowed substitution hints:   𝑄(𝑥)   𝐺(𝑥)

Proof of Theorem eucrctshift
Dummy variables 𝑖 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eucrctshift.v . . . . 5 𝑉 = (Vtx‘𝐺)
2 eucrctshift.i . . . . 5 𝐼 = (iEdg‘𝐺)
3 eucrctshift.c . . . . 5 (𝜑 → 𝐹(Circuits‘𝐺)𝑃)
4 eucrctshift.n . . . . 5 𝑁 = (♯‘𝐹)
5 eucrctshift.s . . . . 5 (𝜑 → 𝑆 ∈ (0..^𝑁))
6 eucrctshift.h . . . . 5 𝐻 = (𝐹 cyclShift 𝑆)
7 eucrctshift.q . . . . 5 𝑄 = (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ (𝑁 − 𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))))
81, 2, 3, 4, 5, 6, 7crctcshtrl 30345 . . . 4 (𝜑 → 𝐻(Trails‘𝐺)𝑄)
9 simpr 490 . . . . 5 ((𝜑 ∧ 𝐻(Trails‘𝐺)𝑄) → 𝐻(Trails‘𝐺)𝑄)
10 eucrctshift.e . . . . . . . 8 (𝜑 → 𝐹(EulerPaths‘𝐺)𝑃)
112eupthf1o 30738 . . . . . . . 8 (𝐹(EulerPaths‘𝐺)𝑃 → 𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼)
1210, 11syl 18 . . . . . . 7 (𝜑 → 𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼)
1312adantr 486 . . . . . 6 ((𝜑 ∧ 𝐻(Trails‘𝐺)𝑄) → 𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼)
14 trliswlk 30213 . . . . . . . 8 (𝐻(Trails‘𝐺)𝑄 → 𝐻(Walks‘𝐺)𝑄)
152wlkf 30128 . . . . . . . 8 (𝐻(Walks‘𝐺)𝑄 → 𝐻 ∈ Word dom 𝐼)
16 wrdf 14630 . . . . . . . 8 (𝐻 ∈ Word dom 𝐼 → 𝐻:(0..^(♯‘𝐻))⟶dom 𝐼)
17 df-f1o 6534 . . . . . . . . . 10 (𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼 ↔ (𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐼 ∧ 𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼))
18 dffo3 7090 . . . . . . . . . . 11 (𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼 ↔ (𝐹:(0..^(♯‘𝐹))⟶dom 𝐼 ∧ ∀𝑖 ∈ dom 𝐼∃𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹‘𝑦)))
19 crctiswlk 30316 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐹(Circuits‘𝐺)𝑃 → 𝐹(Walks‘𝐺)𝑃)
202wlkf 30128 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐹(Walks‘𝐺)𝑃 → 𝐹 ∈ Word dom 𝐼)
21 lencl 14645 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐹 ∈ Word dom 𝐼 → (♯‘𝐹) ∈ ℕ0)
224oveq2i 7419 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (0..^𝑁) = (0..^(♯‘𝐹))
2322eleq2i 2852 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑆 ∈ (0..^𝑁) ↔ 𝑆 ∈ (0..^(♯‘𝐹)))
24 elfzonn0 13810 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑆 ∈ ℕ0)
2524adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → 𝑆 ∈ ℕ0)
26 elfzonn0 13810 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑦 ∈ (0..^(♯‘𝐹)) → 𝑦 ∈ ℕ0)
27 nn0sub 12625 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑆 ∈ ℕ0 ∧ 𝑦 ∈ ℕ0) → (𝑆 ≤ 𝑦 ↔ (𝑦 − 𝑆) ∈ ℕ0))
2825, 26, 27syl2an 608 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (𝑆 ≤ 𝑦 ↔ (𝑦 − 𝑆) ∈ ℕ0))
2928biimpac 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦 − 𝑆) ∈ ℕ0)
30 elfzo0 13803 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑦 ∈ (0..^(♯‘𝐹)) ↔ (𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)))
31 simp2 1155 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (♯‘𝐹) ∈ ℕ)
3230, 31sylbi 220 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑦 ∈ (0..^(♯‘𝐹)) → (♯‘𝐹) ∈ ℕ)
3332ad2antll 742 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (♯‘𝐹) ∈ ℕ)
34 nn0re 12584 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (𝑦 ∈ ℕ0 → 𝑦 ∈ ℝ)
3534ad2antrr 739 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → 𝑦 ∈ ℝ)
36 nnre 12311 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((♯‘𝐹) ∈ ℕ → (♯‘𝐹) ∈ ℝ)
3736adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) → (♯‘𝐹) ∈ ℝ)
3837adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (♯‘𝐹) ∈ ℝ)
39 elfzoelz 13761 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑆 ∈ ℤ)
4039zred 12772 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑆 ∈ ℝ)
41 readdcl 11254 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((♯‘𝐹) ∈ ℝ ∧ 𝑆 ∈ ℝ) → ((♯‘𝐹) + 𝑆) ∈ ℝ)
4237, 40, 41syl2an 608 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → ((♯‘𝐹) + 𝑆) ∈ ℝ)
4335, 38, 423jca 1146 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (𝑦 ∈ ℝ ∧ (♯‘𝐹) ∈ ℝ ∧ ((♯‘𝐹) + 𝑆) ∈ ℝ))
44 elfzole1 13770 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (𝑆 ∈ (0..^(♯‘𝐹)) → 0 ≤ 𝑆)
4544adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → 0 ≤ 𝑆)
46 addge01 11795 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((♯‘𝐹) ∈ ℝ ∧ 𝑆 ∈ ℝ) → (0 ≤ 𝑆 ↔ (♯‘𝐹) ≤ ((♯‘𝐹) + 𝑆)))
4737, 40, 46syl2an 608 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (0 ≤ 𝑆 ↔ (♯‘𝐹) ≤ ((♯‘𝐹) + 𝑆)))
4845, 47mpbid 235 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (♯‘𝐹) ≤ ((♯‘𝐹) + 𝑆))
4943, 48lelttrdi 11443 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (𝑦 < (♯‘𝐹) → 𝑦 < ((♯‘𝐹) + 𝑆)))
5049ex 418 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) → (𝑆 ∈ (0..^(♯‘𝐹)) → (𝑦 < (♯‘𝐹) → 𝑦 < ((♯‘𝐹) + 𝑆))))
5150com23 87 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) → (𝑦 < (♯‘𝐹) → (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑦 < ((♯‘𝐹) + 𝑆))))
52513impia 1135 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑦 < ((♯‘𝐹) + 𝑆)))
5352adantld 496 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → 𝑦 < ((♯‘𝐹) + 𝑆)))
5453imp 412 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹)))) → 𝑦 < ((♯‘𝐹) + 𝑆))
55343ad2ant1 1151 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → 𝑦 ∈ ℝ)
5655adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹)))) → 𝑦 ∈ ℝ)
5740ad2antll 742 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹)))) → 𝑆 ∈ ℝ)
58 elfzoel2 13760 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 (𝑆 ∈ (0..^(♯‘𝐹)) → (♯‘𝐹) ∈ ℤ)
5958zred 12772 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 (𝑆 ∈ (0..^(♯‘𝐹)) → (♯‘𝐹) ∈ ℝ)
6059ad2antll 742 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹)))) → (♯‘𝐹) ∈ ℝ)
6156, 57, 60ltsubaddd 11881 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹)))) → ((𝑦 − 𝑆) < (♯‘𝐹) ↔ 𝑦 < ((♯‘𝐹) + 𝑆)))
6254, 61mpbird 260 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹)))) → (𝑦 − 𝑆) < (♯‘𝐹))
6362ex 418 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (𝑦 − 𝑆) < (♯‘𝐹)))
6430, 63sylbi 220 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑦 ∈ (0..^(♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (𝑦 − 𝑆) < (♯‘𝐹)))
6564impcom 413 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (𝑦 − 𝑆) < (♯‘𝐹))
6665adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦 − 𝑆) < (♯‘𝐹))
67 elfzo0 13803 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((𝑦 − 𝑆) ∈ (0..^(♯‘𝐹)) ↔ ((𝑦 − 𝑆) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ (𝑦 − 𝑆) < (♯‘𝐹)))
6829, 33, 66, 67syl3anbrc 1362 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦 − 𝑆) ∈ (0..^(♯‘𝐹)))
69 oveq1 7415 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑧 = (𝑦 − 𝑆) → (𝑧 + 𝑆) = ((𝑦 − 𝑆) + 𝑆))
7069oveq1d 7423 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑧 = (𝑦 − 𝑆) → ((𝑧 + 𝑆) mod (♯‘𝐹)) = (((𝑦 − 𝑆) + 𝑆) mod (♯‘𝐹)))
7139zcnd 12773 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑆 ∈ ℂ)
7271adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → 𝑆 ∈ ℂ)
73 elfzoelz 13761 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 (𝑦 ∈ (0..^(♯‘𝐹)) → 𝑦 ∈ ℤ)
7473zcnd 12773 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (𝑦 ∈ (0..^(♯‘𝐹)) → 𝑦 ∈ ℂ)
7572, 74anim12ci 626 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (𝑦 ∈ ℂ ∧ 𝑆 ∈ ℂ))
7675adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦 ∈ ℂ ∧ 𝑆 ∈ ℂ))
77 npcan 11537 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑦 ∈ ℂ ∧ 𝑆 ∈ ℂ) → ((𝑦 − 𝑆) + 𝑆) = 𝑦)
7876, 77syl 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ((𝑦 − 𝑆) + 𝑆) = 𝑦)
7978oveq1d 7423 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (((𝑦 − 𝑆) + 𝑆) mod (♯‘𝐹)) = (𝑦 mod (♯‘𝐹)))
80 zmodidfzoimp 14009 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑦 ∈ (0..^(♯‘𝐹)) → (𝑦 mod (♯‘𝐹)) = 𝑦)
8180ad2antll 742 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦 mod (♯‘𝐹)) = 𝑦)
8279, 81eqtrd 2795 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (((𝑦 − 𝑆) + 𝑆) mod (♯‘𝐹)) = 𝑦)
8370, 82sylan9eqr 2817 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) ∧ 𝑧 = (𝑦 − 𝑆)) → ((𝑧 + 𝑆) mod (♯‘𝐹)) = 𝑦)
8483eqcomd 2766 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) ∧ 𝑧 = (𝑦 − 𝑆)) → 𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
8568, 84rspcedeqvd 3583 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ∃𝑧 ∈ (0..^(♯‘𝐹))𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
86 elfzo0 13803 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (𝑆 ∈ (0..^(♯‘𝐹)) ↔ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)))
87 nn0cn 12585 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (𝑦 ∈ ℕ0 → 𝑦 ∈ ℂ)
8887ad2antrr 739 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → 𝑦 ∈ ℂ)
89 nn0cn 12585 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (𝑆 ∈ ℕ0 → 𝑆 ∈ ℂ)
90893ad2ant1 1151 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → 𝑆 ∈ ℂ)
9190adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → 𝑆 ∈ ℂ)
92 nncn 12312 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((♯‘𝐹) ∈ ℕ → (♯‘𝐹) ∈ ℂ)
93923ad2ant2 1152 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → (♯‘𝐹) ∈ ℂ)
9493adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (♯‘𝐹) ∈ ℂ)
9588, 91, 94subadd23d 11662 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((𝑦 − 𝑆) + (♯‘𝐹)) = (𝑦 + ((♯‘𝐹) − 𝑆)))
96 simpll 779 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → 𝑦 ∈ ℕ0)
97 nn0z 12686 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 (𝑆 ∈ ℕ0 → 𝑆 ∈ ℤ)
98 nnz 12683 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ((♯‘𝐹) ∈ ℕ → (♯‘𝐹) ∈ ℤ)
99 znnsub 12711 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ((𝑆 ∈ ℤ ∧ (♯‘𝐹) ∈ ℤ) → (𝑆 < (♯‘𝐹) ↔ ((♯‘𝐹) − 𝑆) ∈ ℕ))
10097, 98, 99syl2an 608 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) → (𝑆 < (♯‘𝐹) ↔ ((♯‘𝐹) − 𝑆) ∈ ℕ))
101100biimp3a 1498 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → ((♯‘𝐹) − 𝑆) ∈ ℕ)
102101adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((♯‘𝐹) − 𝑆) ∈ ℕ)
103102nnnn0d 12636 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((♯‘𝐹) − 𝑆) ∈ ℕ0)
10496, 103nn0addcld 12640 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (𝑦 + ((♯‘𝐹) − 𝑆)) ∈ ℕ0)
10595, 104eqeltrd 2860 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0)
106105adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → ((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0)
107 simplr2 1235 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → (♯‘𝐹) ∈ ℕ)
10887adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) → 𝑦 ∈ ℂ)
109 subcl 11527 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑦 ∈ ℂ ∧ 𝑆 ∈ ℂ) → (𝑦 − 𝑆) ∈ ℂ)
110108, 90, 109syl2an 608 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (𝑦 − 𝑆) ∈ ℂ)
11194, 110jca 521 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((♯‘𝐹) ∈ ℂ ∧ (𝑦 − 𝑆) ∈ ℂ))
112111adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → ((♯‘𝐹) ∈ ℂ ∧ (𝑦 − 𝑆) ∈ ℂ))
113 addcom 11467 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 (((♯‘𝐹) ∈ ℂ ∧ (𝑦 − 𝑆) ∈ ℂ) → ((♯‘𝐹) + (𝑦 − 𝑆)) = ((𝑦 − 𝑆) + (♯‘𝐹)))
114112, 113syl 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → ((♯‘𝐹) + (𝑦 − 𝑆)) = ((𝑦 − 𝑆) + (♯‘𝐹)))
11534adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) → 𝑦 ∈ ℝ)
116 nn0re 12584 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (𝑆 ∈ ℕ0 → 𝑆 ∈ ℝ)
1171163ad2ant1 1151 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → 𝑆 ∈ ℝ)
118 ltnle 11360 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → (𝑦 < 𝑆 ↔ ¬ 𝑆 ≤ 𝑦))
119 simpl 488 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → 𝑦 ∈ ℝ)
120 simpr 490 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → 𝑆 ∈ ℝ)
121119, 120sublt0d 11911 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → ((𝑦 − 𝑆) < 0 ↔ 𝑦 < 𝑆))
122121biimprd 251 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → (𝑦 < 𝑆 → (𝑦 − 𝑆) < 0))
123118, 122sylbird 263 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → (¬ 𝑆 ≤ 𝑦 → (𝑦 − 𝑆) < 0))
124115, 117, 123syl2an 608 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (¬ 𝑆 ≤ 𝑦 → (𝑦 − 𝑆) < 0))
125124imp 412 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → (𝑦 − 𝑆) < 0)
126 resubcl 11593 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → (𝑦 − 𝑆) ∈ ℝ)
127115, 117, 126syl2an 608 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (𝑦 − 𝑆) ∈ ℝ)
128363ad2ant2 1152 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → (♯‘𝐹) ∈ ℝ)
129128adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (♯‘𝐹) ∈ ℝ)
130127, 129jca 521 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((𝑦 − 𝑆) ∈ ℝ ∧ (♯‘𝐹) ∈ ℝ))
131130adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → ((𝑦 − 𝑆) ∈ ℝ ∧ (♯‘𝐹) ∈ ℝ))
132 ltaddneg 11497 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 − 𝑆) ∈ ℝ ∧ (♯‘𝐹) ∈ ℝ) → ((𝑦 − 𝑆) < 0 ↔ ((♯‘𝐹) + (𝑦 − 𝑆)) < (♯‘𝐹)))
133131, 132syl 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → ((𝑦 − 𝑆) < 0 ↔ ((♯‘𝐹) + (𝑦 − 𝑆)) < (♯‘𝐹)))
134125, 133mpbid 235 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → ((♯‘𝐹) + (𝑦 − 𝑆)) < (♯‘𝐹))
135114, 134eqbrtrrd 5128 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹))
136106, 107, 1353jca 1146 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆 ≤ 𝑦) → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))
137136exp31 425 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((𝑦 ∈ ℕ0 ∧ 𝑦 < (♯‘𝐹)) → ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → (¬ 𝑆 ≤ 𝑦 → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))))
1381373adant2 1149 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → (¬ 𝑆 ≤ 𝑦 → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))))
13986, 138biimtrid 245 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (𝑆 ∈ (0..^(♯‘𝐹)) → (¬ 𝑆 ≤ 𝑦 → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))))
140139adantld 496 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (¬ 𝑆 ≤ 𝑦 → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))))
14130, 140sylbi 220 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑦 ∈ (0..^(♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (¬ 𝑆 ≤ 𝑦 → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))))
142141impcom 413 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (¬ 𝑆 ≤ 𝑦 → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹))))
143142impcom 413 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))
144 elfzo0 13803 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ (0..^(♯‘𝐹)) ↔ (((𝑦 − 𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦 − 𝑆) + (♯‘𝐹)) < (♯‘𝐹)))
145143, 144sylibr 237 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ((𝑦 − 𝑆) + (♯‘𝐹)) ∈ (0..^(♯‘𝐹)))
146 oveq1 7415 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑧 = ((𝑦 − 𝑆) + (♯‘𝐹)) → (𝑧 + 𝑆) = (((𝑦 − 𝑆) + (♯‘𝐹)) + 𝑆))
147146oveq1d 7423 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑧 = ((𝑦 − 𝑆) + (♯‘𝐹)) → ((𝑧 + 𝑆) mod (♯‘𝐹)) = ((((𝑦 − 𝑆) + (♯‘𝐹)) + 𝑆) mod (♯‘𝐹)))
14872adantr 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → 𝑆 ∈ ℂ)
14974adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → 𝑦 ∈ ℂ)
150 nn0cn 12585 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((♯‘𝐹) ∈ ℕ0 → (♯‘𝐹) ∈ ℂ)
151150ad2antrr 739 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (♯‘𝐹) ∈ ℂ)
152148, 149, 1513jca 1146 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ))
153152adantl 487 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ))
154 simp2 1155 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ) → 𝑦 ∈ ℂ)
155 simp3 1156 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ) → (♯‘𝐹) ∈ ℂ)
156 simp1 1154 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ) → 𝑆 ∈ ℂ)
157154, 156, 155nppcand 11665 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ) → (((𝑦 − 𝑆) + (♯‘𝐹)) + 𝑆) = (𝑦 + (♯‘𝐹)))
158154, 155, 157comraddd 11495 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ) → (((𝑦 − 𝑆) + (♯‘𝐹)) + 𝑆) = ((♯‘𝐹) + 𝑦))
159153, 158syl 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (((𝑦 − 𝑆) + (♯‘𝐹)) + 𝑆) = ((♯‘𝐹) + 𝑦))
160159oveq1d 7423 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ((((𝑦 − 𝑆) + (♯‘𝐹)) + 𝑆) mod (♯‘𝐹)) = (((♯‘𝐹) + 𝑦) mod (♯‘𝐹)))
16130biimpi 219 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (𝑦 ∈ (0..^(♯‘𝐹)) → (𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)))
162161ad2antll 742 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)))
163 addmodid 14030 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (((♯‘𝐹) + 𝑦) mod (♯‘𝐹)) = 𝑦)
164162, 163syl 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (((♯‘𝐹) + 𝑦) mod (♯‘𝐹)) = 𝑦)
165160, 164eqtrd 2795 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ((((𝑦 − 𝑆) + (♯‘𝐹)) + 𝑆) mod (♯‘𝐹)) = 𝑦)
166147, 165sylan9eqr 2817 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) ∧ 𝑧 = ((𝑦 − 𝑆) + (♯‘𝐹))) → ((𝑧 + 𝑆) mod (♯‘𝐹)) = 𝑦)
167166eqcomd 2766 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) ∧ 𝑧 = ((𝑦 − 𝑆) + (♯‘𝐹))) → 𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
168145, 167rspcedeqvd 3583 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((¬ 𝑆 ≤ 𝑦 ∧ (((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ∃𝑧 ∈ (0..^(♯‘𝐹))𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
16985, 168pm2.61ian 824 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → ∃𝑧 ∈ (0..^(♯‘𝐹))𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
17022rexeqi 3318 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)) ↔ ∃𝑧 ∈ (0..^(♯‘𝐹))𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
171169, 170sylibr 237 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((((♯‘𝐹) ∈ ℕ0 ∧ 𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
172171exp31 425 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((♯‘𝐹) ∈ ℕ0 → (𝑆 ∈ (0..^(♯‘𝐹)) → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))))
17323, 172biimtrid 245 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((♯‘𝐹) ∈ ℕ0 → (𝑆 ∈ (0..^𝑁) → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))))
17419, 20, 21, 1734syl 20 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝐹(Circuits‘𝐺)𝑃 → (𝑆 ∈ (0..^𝑁) → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))))
1753, 5, 174sylc 66 . . . . . . . . . . . . . . . . . . . . . . 23 (𝜑 → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹))))
176175adantr 486 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑 ∧ 𝑖 ∈ dom 𝐼) → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹))))
177176imp 412 . . . . . . . . . . . . . . . . . . . . 21 (((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
178177adantr 486 . . . . . . . . . . . . . . . . . . . 20 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
179 fveq2 6873 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)) → (𝐹‘𝑦) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹))))
180179reximi 3100 . . . . . . . . . . . . . . . . . . . 20 (∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)(𝐹‘𝑦) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹))))
181178, 180syl 18 . . . . . . . . . . . . . . . . . . 19 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → ∃𝑧 ∈ (0..^𝑁)(𝐹‘𝑦) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹))))
1823, 19, 203syl 19 . . . . . . . . . . . . . . . . . . . . . . 23 (𝜑 → 𝐹 ∈ Word dom 𝐼)
183182ad3antrrr 743 . . . . . . . . . . . . . . . . . . . . . 22 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → 𝐹 ∈ Word dom 𝐼)
184 elfzoelz 13761 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑆 ∈ (0..^𝑁) → 𝑆 ∈ ℤ)
1855, 184syl 18 . . . . . . . . . . . . . . . . . . . . . . 23 (𝜑 → 𝑆 ∈ ℤ)
186185ad3antrrr 743 . . . . . . . . . . . . . . . . . . . . . 22 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → 𝑆 ∈ ℤ)
18722eleq2i 2852 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑧 ∈ (0..^𝑁) ↔ 𝑧 ∈ (0..^(♯‘𝐹)))
188187biimpi 219 . . . . . . . . . . . . . . . . . . . . . 22 (𝑧 ∈ (0..^𝑁) → 𝑧 ∈ (0..^(♯‘𝐹)))
189 cshwidxmod 14921 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐹 ∈ Word dom 𝐼 ∧ 𝑆 ∈ ℤ ∧ 𝑧 ∈ (0..^(♯‘𝐹))) → ((𝐹 cyclShift 𝑆)‘𝑧) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹))))
190183, 186, 188, 189syl2an3an 1449 . . . . . . . . . . . . . . . . . . . . 21 (((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) ∧ 𝑧 ∈ (0..^𝑁)) → ((𝐹 cyclShift 𝑆)‘𝑧) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹))))
191190eqeq2d 2771 . . . . . . . . . . . . . . . . . . . 20 (((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) ∧ 𝑧 ∈ (0..^𝑁)) → ((𝐹‘𝑦) = ((𝐹 cyclShift 𝑆)‘𝑧) ↔ (𝐹‘𝑦) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹)))))
192191rexbidva 3184 . . . . . . . . . . . . . . . . . . 19 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → (∃𝑧 ∈ (0..^𝑁)(𝐹‘𝑦) = ((𝐹 cyclShift 𝑆)‘𝑧) ↔ ∃𝑧 ∈ (0..^𝑁)(𝐹‘𝑦) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹)))))
193181, 192mpbird 260 . . . . . . . . . . . . . . . . . 18 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → ∃𝑧 ∈ (0..^𝑁)(𝐹‘𝑦) = ((𝐹 cyclShift 𝑆)‘𝑧))
1941, 2, 3, 4, 5, 6crctcshlem2 30340 . . . . . . . . . . . . . . . . . . . . 21 (𝜑 → (♯‘𝐻) = 𝑁)
195194oveq2d 7424 . . . . . . . . . . . . . . . . . . . 20 (𝜑 → (0..^(♯‘𝐻)) = (0..^𝑁))
196195ad3antrrr 743 . . . . . . . . . . . . . . . . . . 19 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → (0..^(♯‘𝐻)) = (0..^𝑁))
197 simpr 490 . . . . . . . . . . . . . . . . . . . 20 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → 𝑖 = (𝐹‘𝑦))
1986fveq1i 6874 . . . . . . . . . . . . . . . . . . . . 21 (𝐻‘𝑧) = ((𝐹 cyclShift 𝑆)‘𝑧)
199198a1i 11 . . . . . . . . . . . . . . . . . . . 20 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → (𝐻‘𝑧) = ((𝐹 cyclShift 𝑆)‘𝑧))
200197, 199eqeq12d 2776 . . . . . . . . . . . . . . . . . . 19 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → (𝑖 = (𝐻‘𝑧) ↔ (𝐹‘𝑦) = ((𝐹 cyclShift 𝑆)‘𝑧)))
201196, 200rexeqbidv 3335 . . . . . . . . . . . . . . . . . 18 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → (∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻‘𝑧) ↔ ∃𝑧 ∈ (0..^𝑁)(𝐹‘𝑦) = ((𝐹 cyclShift 𝑆)‘𝑧)))
202193, 201mpbird 260 . . . . . . . . . . . . . . . . 17 ((((𝜑 ∧ 𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹‘𝑦)) → ∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻‘𝑧))
203202rexlimdva2 3165 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ 𝑖 ∈ dom 𝐼) → (∃𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹‘𝑦) → ∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻‘𝑧)))
204203ralimdva 3174 . . . . . . . . . . . . . . 15 (𝜑 → (∀𝑖 ∈ dom 𝐼∃𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹‘𝑦) → ∀𝑖 ∈ dom 𝐼∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻‘𝑧)))
205204impcom 413 . . . . . . . . . . . . . 14 ((∀𝑖 ∈ dom 𝐼∃𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹‘𝑦) ∧ 𝜑) → ∀𝑖 ∈ dom 𝐼∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻‘𝑧))
206205anim1ci 628 . . . . . . . . . . . . 13 (((∀𝑖 ∈ dom 𝐼∃𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹‘𝑦) ∧ 𝜑) ∧ 𝐻:(0..^(♯‘𝐻))⟶dom 𝐼) → (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼 ∧ ∀𝑖 ∈ dom 𝐼∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻‘𝑧)))
207 dffo3 7090 . . . . . . . . . . . . 13 (𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼 ↔ (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼 ∧ ∀𝑖 ∈ dom 𝐼∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻‘𝑧)))
208206, 207sylibr 237 . . . . . . . . . . . 12 (((∀𝑖 ∈ dom 𝐼∃𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹‘𝑦) ∧ 𝜑) ∧ 𝐻:(0..^(♯‘𝐻))⟶dom 𝐼) → 𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼)
209208exp31 425 . . . . . . . . . . 11 (∀𝑖 ∈ dom 𝐼∃𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹‘𝑦) → (𝜑 → (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼 → 𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼)))
21018, 209simplbiim 514 . . . . . . . . . 10 (𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼 → (𝜑 → (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼 → 𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼)))
21117, 210simplbiim 514 . . . . . . . . 9 (𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼 → (𝜑 → (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼 → 𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼)))
212211com13 89 . . . . . . . 8 (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼 → (𝜑 → (𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼 → 𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼)))
21314, 15, 16, 2124syl 20 . . . . . . 7 (𝐻(Trails‘𝐺)𝑄 → (𝜑 → (𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼 → 𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼)))
214213impcom 413 . . . . . 6 ((𝜑 ∧ 𝐻(Trails‘𝐺)𝑄) → (𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼 → 𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼))
21513, 214mpd 16 . . . . 5 ((𝜑 ∧ 𝐻(Trails‘𝐺)𝑄) → 𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼)
2169, 215jca 521 . . . 4 ((𝜑 ∧ 𝐻(Trails‘𝐺)𝑄) → (𝐻(Trails‘𝐺)𝑄 ∧ 𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼))
2178, 216mpdan 700 . . 3 (𝜑 → (𝐻(Trails‘𝐺)𝑄 ∧ 𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼))
2182iseupth 30735 . . 3 (𝐻(EulerPaths‘𝐺)𝑄 ↔ (𝐻(Trails‘𝐺)𝑄 ∧ 𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼))
219217, 218sylibr 237 . 2 (𝜑 → 𝐻(EulerPaths‘𝐺)𝑄)
2201, 2, 3, 4, 5, 6, 7crctcsh 30346 . 2 (𝜑 → 𝐻(Circuits‘𝐺)𝑄)
221219, 220jca 521 1 (𝜑 → (𝐻(EulerPaths‘𝐺)𝑄 ∧ 𝐻(Circuits‘𝐺)𝑄))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3   → wi 4   ↔ wb 209   ∧ wa 401   ∧ w3a 1103   = wceq 1570   ∈ wcel 2145  ∀wral 3076  ∃wrex 3086  ifcif 4481   class class class wbr 5102   ↦ cmpt 5185  dom cdm 5647  ⟶wf 6523  –1-1→wf1 6524  –onto→wfo 6525  –1-1-onto→wf1o 6526  ‘cfv 6527  (class class class)co 7408  ℂcc 11169  ℝcr 11170  0cc0 11171   + caddc 11174   < clt 11314   ≤ cle 11315   − cmin 11512  ℕcn 12304  ℕ0cn0 12575  ℤcz 12662  ...cfz 13608  ..^cfzo 13756   mod cmo 13977  ♯chash 14441  Word cword 14625   cyclShift ccsh 14906  Vtxcvtx 29507  iEdgciedg 29508  Walkscwlks 30110  Trailsctrls 30206  Circuitsccrcts 30304  EulerPathsceupth 30731
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 2213  ax-ext 2732  ax-rep 5231  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7734  ax-cnex 11227  ax-resscn 11228  ax-1cn 11229  ax-icn 11230  ax-addcl 11231  ax-addrcl 11232  ax-mulcl 11233  ax-mulrcl 11234  ax-mulcom 11235  ax-addass 11236  ax-mulass 11237  ax-distr 11238  ax-i2m1 11239  ax-1ne0 11240  ax-1rid 11241  ax-rnegex 11242  ax-rrecex 11243  ax-cnre 11244  ax-pre-lttri 11245  ax-pre-lttrn 11246  ax-pre-ltadd 11247  ax-pre-mulgt0 11248  ax-pre-sup 11249
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-ifp 1079  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-nel 3062  df-ral 3077  df-rex 3087  df-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-dif 3901  df-un 3903  df-in 3905  df-ss 3915  df-pss 3918  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4584  df-pr 4586  df-op 4590  df-uni 4867  df-int 4907  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-tr 5212  df-id 5542  df-eprel 5547  df-po 5555  df-so 5556  df-fr 5600  df-we 5602  df-xp 5653  df-rel 5654  df-cnv 5655  df-co 5656  df-dm 5657  df-rn 5658  df-res 5659  df-ima 5660  df-pred 6293  df-ord 6354  df-on 6355  df-lim 6356  df-suc 6357  df-iota 6483  df-fun 6529  df-fn 6530  df-f 6531  df-f1 6532  df-fo 6533  df-f1o 6534  df-fv 6535  df-riota 7365  df-ov 7411  df-oprab 7412  df-mpo 7413  df-om 7861  df-1st 7984  df-2nd 7985  df-frecs 8277  df-wrecs 8308  df-recs 8357  df-rdg 8396  df-1o 8454  df-er 8695  df-map 8827  df-en 8952  df-dom 8953  df-sdom 8954  df-fin 8955  df-sup 9412  df-inf 9413  df-card 9991  df-pnf 11316  df-mnf 11317  df-xr 11318  df-ltxr 11319  df-le 11320  df-sub 11514  df-neg 11515  df-div 11943  df-nn 12305  df-2 12374  df-n0 12576  df-z 12663  df-uz 12935  df-rp 13090  df-ico 13451  df-fz 13609  df-fzo 13757  df-fl 13900  df-mod 13978  df-hash 14442  df-word 14626  df-concat 14683  df-substr 14756  df-pfx 14788  df-csh 14907  df-wlks 30113  df-trls 30208  df-crcts 30306  df-eupth 30732
This theorem is used by:  eucrct2eupth  30779
  Copyright terms: Public domain W3C validator