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

Theorem eucrctshift 28028
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 27609 . . . 4 (𝜑𝐻(Trails‘𝐺)𝑄)
9 simpr 488 . . . . 5 ((𝜑𝐻(Trails‘𝐺)𝑄) → 𝐻(Trails‘𝐺)𝑄)
10 eucrctshift.e . . . . . . . 8 (𝜑𝐹(EulerPaths‘𝐺)𝑃)
112eupthf1o 27989 . . . . . . . 8 (𝐹(EulerPaths‘𝐺)𝑃𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼)
1210, 11syl 17 . . . . . . 7 (𝜑𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼)
1312adantr 484 . . . . . 6 ((𝜑𝐻(Trails‘𝐺)𝑄) → 𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼)
14 trliswlk 27487 . . . . . . . . 9 (𝐻(Trails‘𝐺)𝑄𝐻(Walks‘𝐺)𝑄)
152wlkf 27404 . . . . . . . . 9 (𝐻(Walks‘𝐺)𝑄𝐻 ∈ Word dom 𝐼)
16 wrdf 13862 . . . . . . . . 9 (𝐻 ∈ Word dom 𝐼𝐻:(0..^(♯‘𝐻))⟶dom 𝐼)
1714, 15, 163syl 18 . . . . . . . 8 (𝐻(Trails‘𝐺)𝑄𝐻:(0..^(♯‘𝐻))⟶dom 𝐼)
18 df-f1o 6331 . . . . . . . . . 10 (𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼 ↔ (𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐼𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼))
19 dffo3 6845 . . . . . . . . . . 11 (𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼 ↔ (𝐹:(0..^(♯‘𝐹))⟶dom 𝐼 ∧ ∀𝑖 ∈ dom 𝐼𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹𝑦)))
20 crctiswlk 27585 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐹(Circuits‘𝐺)𝑃𝐹(Walks‘𝐺)𝑃)
212wlkf 27404 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐹(Walks‘𝐺)𝑃𝐹 ∈ Word dom 𝐼)
22 lencl 13876 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝐹 ∈ Word dom 𝐼 → (♯‘𝐹) ∈ ℕ0)
234oveq2i 7146 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (0..^𝑁) = (0..^(♯‘𝐹))
2423eleq2i 2881 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (𝑆 ∈ (0..^𝑁) ↔ 𝑆 ∈ (0..^(♯‘𝐹)))
25 elfzonn0 13077 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑆 ∈ ℕ0)
2625adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) → 𝑆 ∈ ℕ0)
27 elfzonn0 13077 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑦 ∈ (0..^(♯‘𝐹)) → 𝑦 ∈ ℕ0)
28 nn0sub 11935 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑆 ∈ ℕ0𝑦 ∈ ℕ0) → (𝑆𝑦 ↔ (𝑦𝑆) ∈ ℕ0))
2926, 27, 28syl2an 598 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (𝑆𝑦 ↔ (𝑦𝑆) ∈ ℕ0))
3029biimpac 482 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦𝑆) ∈ ℕ0)
31 elfzo0 13073 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑦 ∈ (0..^(♯‘𝐹)) ↔ (𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)))
32 simp2 1134 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (♯‘𝐹) ∈ ℕ)
3331, 32sylbi 220 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑦 ∈ (0..^(♯‘𝐹)) → (♯‘𝐹) ∈ ℕ)
3433ad2antll 728 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (♯‘𝐹) ∈ ℕ)
35 nn0re 11894 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 (𝑦 ∈ ℕ0𝑦 ∈ ℝ)
3635ad2antrr 725 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → 𝑦 ∈ ℝ)
37 nnre 11632 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ((♯‘𝐹) ∈ ℕ → (♯‘𝐹) ∈ ℝ)
3837adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) → (♯‘𝐹) ∈ ℝ)
3938adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (♯‘𝐹) ∈ ℝ)
40 elfzoelz 13033 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑆 ∈ ℤ)
4140zred 12075 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑆 ∈ ℝ)
42 readdcl 10609 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 (((♯‘𝐹) ∈ ℝ ∧ 𝑆 ∈ ℝ) → ((♯‘𝐹) + 𝑆) ∈ ℝ)
4338, 41, 42syl2an 598 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → ((♯‘𝐹) + 𝑆) ∈ ℝ)
4436, 39, 433jca 1125 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (𝑦 ∈ ℝ ∧ (♯‘𝐹) ∈ ℝ ∧ ((♯‘𝐹) + 𝑆) ∈ ℝ))
45 elfzole1 13041 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 (𝑆 ∈ (0..^(♯‘𝐹)) → 0 ≤ 𝑆)
4645adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → 0 ≤ 𝑆)
47 addge01 11139 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 (((♯‘𝐹) ∈ ℝ ∧ 𝑆 ∈ ℝ) → (0 ≤ 𝑆 ↔ (♯‘𝐹) ≤ ((♯‘𝐹) + 𝑆)))
4838, 41, 47syl2an 598 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (0 ≤ 𝑆 ↔ (♯‘𝐹) ≤ ((♯‘𝐹) + 𝑆)))
4946, 48mpbid 235 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (♯‘𝐹) ≤ ((♯‘𝐹) + 𝑆))
5044, 49lelttrdi 10791 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) ∧ 𝑆 ∈ (0..^(♯‘𝐹))) → (𝑦 < (♯‘𝐹) → 𝑦 < ((♯‘𝐹) + 𝑆)))
5150ex 416 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) → (𝑆 ∈ (0..^(♯‘𝐹)) → (𝑦 < (♯‘𝐹) → 𝑦 < ((♯‘𝐹) + 𝑆))))
5251com23 86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) → (𝑦 < (♯‘𝐹) → (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑦 < ((♯‘𝐹) + 𝑆))))
53523impia 1114 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑦 < ((♯‘𝐹) + 𝑆)))
5453adantld 494 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) → 𝑦 < ((♯‘𝐹) + 𝑆)))
5554imp 410 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹)))) → 𝑦 < ((♯‘𝐹) + 𝑆))
56353ad2ant1 1130 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → 𝑦 ∈ ℝ)
5756adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹)))) → 𝑦 ∈ ℝ)
5841ad2antll 728 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹)))) → 𝑆 ∈ ℝ)
59 elfzoel2 13032 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 (𝑆 ∈ (0..^(♯‘𝐹)) → (♯‘𝐹) ∈ ℤ)
6059zred 12075 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 (𝑆 ∈ (0..^(♯‘𝐹)) → (♯‘𝐹) ∈ ℝ)
6160ad2antll 728 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹)))) → (♯‘𝐹) ∈ ℝ)
6257, 58, 61ltsubaddd 11225 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹)))) → ((𝑦𝑆) < (♯‘𝐹) ↔ 𝑦 < ((♯‘𝐹) + 𝑆)))
6355, 62mpbird 260 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹)))) → (𝑦𝑆) < (♯‘𝐹))
6463ex 416 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) → (𝑦𝑆) < (♯‘𝐹)))
6531, 64sylbi 220 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑦 ∈ (0..^(♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) → (𝑦𝑆) < (♯‘𝐹)))
6665impcom 411 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (𝑦𝑆) < (♯‘𝐹))
6766adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦𝑆) < (♯‘𝐹))
68 elfzo0 13073 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((𝑦𝑆) ∈ (0..^(♯‘𝐹)) ↔ ((𝑦𝑆) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ (𝑦𝑆) < (♯‘𝐹)))
6930, 34, 67, 68syl3anbrc 1340 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦𝑆) ∈ (0..^(♯‘𝐹)))
70 oveq1 7142 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑧 = (𝑦𝑆) → (𝑧 + 𝑆) = ((𝑦𝑆) + 𝑆))
7170oveq1d 7150 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑧 = (𝑦𝑆) → ((𝑧 + 𝑆) mod (♯‘𝐹)) = (((𝑦𝑆) + 𝑆) mod (♯‘𝐹)))
7240zcnd 12076 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 (𝑆 ∈ (0..^(♯‘𝐹)) → 𝑆 ∈ ℂ)
7372adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) → 𝑆 ∈ ℂ)
74 elfzoelz 13033 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 (𝑦 ∈ (0..^(♯‘𝐹)) → 𝑦 ∈ ℤ)
7574zcnd 12076 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 (𝑦 ∈ (0..^(♯‘𝐹)) → 𝑦 ∈ ℂ)
7673, 75anim12ci 616 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (𝑦 ∈ ℂ ∧ 𝑆 ∈ ℂ))
7776adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦 ∈ ℂ ∧ 𝑆 ∈ ℂ))
78 npcan 10884 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑦 ∈ ℂ ∧ 𝑆 ∈ ℂ) → ((𝑦𝑆) + 𝑆) = 𝑦)
7977, 78syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ((𝑦𝑆) + 𝑆) = 𝑦)
8079oveq1d 7150 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (((𝑦𝑆) + 𝑆) mod (♯‘𝐹)) = (𝑦 mod (♯‘𝐹)))
81 zmodidfzoimp 13264 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 (𝑦 ∈ (0..^(♯‘𝐹)) → (𝑦 mod (♯‘𝐹)) = 𝑦)
8281ad2antll 728 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦 mod (♯‘𝐹)) = 𝑦)
8380, 82eqtrd 2833 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (((𝑦𝑆) + 𝑆) mod (♯‘𝐹)) = 𝑦)
8471, 83sylan9eqr 2855 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (((𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) ∧ 𝑧 = (𝑦𝑆)) → ((𝑧 + 𝑆) mod (♯‘𝐹)) = 𝑦)
8584eqcomd 2804 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (((𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) ∧ 𝑧 = (𝑦𝑆)) → 𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
8669, 85rspcedeq2vd 3578 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ∃𝑧 ∈ (0..^(♯‘𝐹))𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
87 elfzo0 13073 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 (𝑆 ∈ (0..^(♯‘𝐹)) ↔ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)))
88 nn0cn 11895 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (𝑦 ∈ ℕ0𝑦 ∈ ℂ)
8988ad2antrr 725 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → 𝑦 ∈ ℂ)
90 nn0cn 11895 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 (𝑆 ∈ ℕ0𝑆 ∈ ℂ)
91903ad2ant1 1130 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → 𝑆 ∈ ℂ)
9291adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → 𝑆 ∈ ℂ)
93 nncn 11633 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((♯‘𝐹) ∈ ℕ → (♯‘𝐹) ∈ ℂ)
94933ad2ant2 1131 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → (♯‘𝐹) ∈ ℂ)
9594adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (♯‘𝐹) ∈ ℂ)
9689, 92, 95subadd23d 11008 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((𝑦𝑆) + (♯‘𝐹)) = (𝑦 + ((♯‘𝐹) − 𝑆)))
97 simpll 766 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → 𝑦 ∈ ℕ0)
98 nn0z 11993 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 (𝑆 ∈ ℕ0𝑆 ∈ ℤ)
99 nnz 11992 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 ((♯‘𝐹) ∈ ℕ → (♯‘𝐹) ∈ ℤ)
100 znnsub 12016 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 ((𝑆 ∈ ℤ ∧ (♯‘𝐹) ∈ ℤ) → (𝑆 < (♯‘𝐹) ↔ ((♯‘𝐹) − 𝑆) ∈ ℕ))
10198, 99, 100syl2an 598 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ) → (𝑆 < (♯‘𝐹) ↔ ((♯‘𝐹) − 𝑆) ∈ ℕ))
102101biimp3a 1466 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → ((♯‘𝐹) − 𝑆) ∈ ℕ)
103102adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((♯‘𝐹) − 𝑆) ∈ ℕ)
104103nnnn0d 11943 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((♯‘𝐹) − 𝑆) ∈ ℕ0)
10597, 104nn0addcld 11947 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (𝑦 + ((♯‘𝐹) − 𝑆)) ∈ ℕ0)
10696, 105eqeltrd 2890 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 (((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((𝑦𝑆) + (♯‘𝐹)) ∈ ℕ0)
107106adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 ((((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆𝑦) → ((𝑦𝑆) + (♯‘𝐹)) ∈ ℕ0)
108 simplr2 1213 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 ((((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆𝑦) → (♯‘𝐹) ∈ ℕ)
10988adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) → 𝑦 ∈ ℂ)
110 subcl 10874 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((𝑦 ∈ ℂ ∧ 𝑆 ∈ ℂ) → (𝑦𝑆) ∈ ℂ)
111109, 91, 110syl2an 598 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (𝑦𝑆) ∈ ℂ)
11295, 111jca 515 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((♯‘𝐹) ∈ ℂ ∧ (𝑦𝑆) ∈ ℂ))
113112adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 ((((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆𝑦) → ((♯‘𝐹) ∈ ℂ ∧ (𝑦𝑆) ∈ ℂ))
114 addcom 10815 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 (((♯‘𝐹) ∈ ℂ ∧ (𝑦𝑆) ∈ ℂ) → ((♯‘𝐹) + (𝑦𝑆)) = ((𝑦𝑆) + (♯‘𝐹)))
115113, 114syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 ((((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆𝑦) → ((♯‘𝐹) + (𝑦𝑆)) = ((𝑦𝑆) + (♯‘𝐹)))
11635adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) → 𝑦 ∈ ℝ)
117 nn0re 11894 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 (𝑆 ∈ ℕ0𝑆 ∈ ℝ)
1181173ad2ant1 1130 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → 𝑆 ∈ ℝ)
119 ltnle 10709 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → (𝑦 < 𝑆 ↔ ¬ 𝑆𝑦))
120 simpl 486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → 𝑦 ∈ ℝ)
121 simpr 488 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → 𝑆 ∈ ℝ)
122120, 121sublt0d 11255 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → ((𝑦𝑆) < 0 ↔ 𝑦 < 𝑆))
123122biimprd 251 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → (𝑦 < 𝑆 → (𝑦𝑆) < 0))
124119, 123sylbird 263 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → (¬ 𝑆𝑦 → (𝑦𝑆) < 0))
125116, 118, 124syl2an 598 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (¬ 𝑆𝑦 → (𝑦𝑆) < 0))
126125imp 410 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 ((((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆𝑦) → (𝑦𝑆) < 0)
127 resubcl 10939 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ((𝑦 ∈ ℝ ∧ 𝑆 ∈ ℝ) → (𝑦𝑆) ∈ ℝ)
128116, 118, 127syl2an 598 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 (((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (𝑦𝑆) ∈ ℝ)
129373ad2ant2 1131 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → (♯‘𝐹) ∈ ℝ)
130129adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 (((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → (♯‘𝐹) ∈ ℝ)
131128, 130jca 515 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 (((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) → ((𝑦𝑆) ∈ ℝ ∧ (♯‘𝐹) ∈ ℝ))
132131adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ((((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆𝑦) → ((𝑦𝑆) ∈ ℝ ∧ (♯‘𝐹) ∈ ℝ))
133 ltaddneg 10844 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 (((𝑦𝑆) ∈ ℝ ∧ (♯‘𝐹) ∈ ℝ) → ((𝑦𝑆) < 0 ↔ ((♯‘𝐹) + (𝑦𝑆)) < (♯‘𝐹)))
134132, 133syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 ((((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆𝑦) → ((𝑦𝑆) < 0 ↔ ((♯‘𝐹) + (𝑦𝑆)) < (♯‘𝐹)))
135126, 134mpbid 235 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 ((((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆𝑦) → ((♯‘𝐹) + (𝑦𝑆)) < (♯‘𝐹))
136115, 135eqbrtrrd 5054 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 ((((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆𝑦) → ((𝑦𝑆) + (♯‘𝐹)) < (♯‘𝐹))
137107, 108, 1363jca 1125 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) ∧ (𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹))) ∧ ¬ 𝑆𝑦) → (((𝑦𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦𝑆) + (♯‘𝐹)) < (♯‘𝐹)))
138137exp31 423 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((𝑦 ∈ ℕ0𝑦 < (♯‘𝐹)) → ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → (¬ 𝑆𝑦 → (((𝑦𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦𝑆) + (♯‘𝐹)) < (♯‘𝐹)))))
1391383adant2 1128 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → ((𝑆 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑆 < (♯‘𝐹)) → (¬ 𝑆𝑦 → (((𝑦𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦𝑆) + (♯‘𝐹)) < (♯‘𝐹)))))
14087, 139syl5bi 245 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (𝑆 ∈ (0..^(♯‘𝐹)) → (¬ 𝑆𝑦 → (((𝑦𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦𝑆) + (♯‘𝐹)) < (♯‘𝐹)))))
141140adantld 494 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) → (¬ 𝑆𝑦 → (((𝑦𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦𝑆) + (♯‘𝐹)) < (♯‘𝐹)))))
14231, 141sylbi 220 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑦 ∈ (0..^(♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) → (¬ 𝑆𝑦 → (((𝑦𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦𝑆) + (♯‘𝐹)) < (♯‘𝐹)))))
143142impcom 411 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (¬ 𝑆𝑦 → (((𝑦𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦𝑆) + (♯‘𝐹)) < (♯‘𝐹))))
144143impcom 411 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ((¬ 𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (((𝑦𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦𝑆) + (♯‘𝐹)) < (♯‘𝐹)))
145 elfzo0 13073 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (((𝑦𝑆) + (♯‘𝐹)) ∈ (0..^(♯‘𝐹)) ↔ (((𝑦𝑆) + (♯‘𝐹)) ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ ((𝑦𝑆) + (♯‘𝐹)) < (♯‘𝐹)))
146144, 145sylibr 237 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((¬ 𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ((𝑦𝑆) + (♯‘𝐹)) ∈ (0..^(♯‘𝐹)))
147 oveq1 7142 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑧 = ((𝑦𝑆) + (♯‘𝐹)) → (𝑧 + 𝑆) = (((𝑦𝑆) + (♯‘𝐹)) + 𝑆))
148147oveq1d 7150 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑧 = ((𝑦𝑆) + (♯‘𝐹)) → ((𝑧 + 𝑆) mod (♯‘𝐹)) = ((((𝑦𝑆) + (♯‘𝐹)) + 𝑆) mod (♯‘𝐹)))
14973adantr 484 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → 𝑆 ∈ ℂ)
15075adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → 𝑦 ∈ ℂ)
151 nn0cn 11895 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ((♯‘𝐹) ∈ ℕ0 → (♯‘𝐹) ∈ ℂ)
152151ad2antrr 725 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (♯‘𝐹) ∈ ℂ)
153149, 150, 1523jca 1125 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → (𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ))
154153adantl 485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((¬ 𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ))
155 simp2 1134 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ) → 𝑦 ∈ ℂ)
156 simp3 1135 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ) → (♯‘𝐹) ∈ ℂ)
157 simp1 1133 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ((𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ) → 𝑆 ∈ ℂ)
158155, 157, 156nppcand 11011 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ((𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ) → (((𝑦𝑆) + (♯‘𝐹)) + 𝑆) = (𝑦 + (♯‘𝐹)))
159155, 156, 158comraddd 10843 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ((𝑆 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ (♯‘𝐹) ∈ ℂ) → (((𝑦𝑆) + (♯‘𝐹)) + 𝑆) = ((♯‘𝐹) + 𝑦))
160154, 159syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((¬ 𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (((𝑦𝑆) + (♯‘𝐹)) + 𝑆) = ((♯‘𝐹) + 𝑦))
161160oveq1d 7150 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((¬ 𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ((((𝑦𝑆) + (♯‘𝐹)) + 𝑆) mod (♯‘𝐹)) = (((♯‘𝐹) + 𝑦) mod (♯‘𝐹)))
16231biimpi 219 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 (𝑦 ∈ (0..^(♯‘𝐹)) → (𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)))
163162ad2antll 728 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((¬ 𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)))
164 addmodid 13282 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ((𝑦 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ ∧ 𝑦 < (♯‘𝐹)) → (((♯‘𝐹) + 𝑦) mod (♯‘𝐹)) = 𝑦)
165163, 164syl 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ((¬ 𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → (((♯‘𝐹) + 𝑦) mod (♯‘𝐹)) = 𝑦)
166161, 165eqtrd 2833 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((¬ 𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ((((𝑦𝑆) + (♯‘𝐹)) + 𝑆) mod (♯‘𝐹)) = 𝑦)
167148, 166sylan9eqr 2855 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (((¬ 𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) ∧ 𝑧 = ((𝑦𝑆) + (♯‘𝐹))) → ((𝑧 + 𝑆) mod (♯‘𝐹)) = 𝑦)
168167eqcomd 2804 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (((¬ 𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) ∧ 𝑧 = ((𝑦𝑆) + (♯‘𝐹))) → 𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
169146, 168rspcedeq2vd 3578 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((¬ 𝑆𝑦 ∧ (((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹)))) → ∃𝑧 ∈ (0..^(♯‘𝐹))𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
17086, 169pm2.61ian 811 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → ∃𝑧 ∈ (0..^(♯‘𝐹))𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
17123rexeqi 3363 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)) ↔ ∃𝑧 ∈ (0..^(♯‘𝐹))𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
172170, 171sylibr 237 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((((♯‘𝐹) ∈ ℕ0𝑆 ∈ (0..^(♯‘𝐹))) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
173172exp31 423 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((♯‘𝐹) ∈ ℕ0 → (𝑆 ∈ (0..^(♯‘𝐹)) → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))))
17424, 173syl5bi 245 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((♯‘𝐹) ∈ ℕ0 → (𝑆 ∈ (0..^𝑁) → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))))
17522, 174syl 17 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐹 ∈ Word dom 𝐼 → (𝑆 ∈ (0..^𝑁) → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))))
17620, 21, 1753syl 18 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝐹(Circuits‘𝐺)𝑃 → (𝑆 ∈ (0..^𝑁) → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))))
1773, 5, 176sylc 65 . . . . . . . . . . . . . . . . . . . . . . 23 (𝜑 → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹))))
178177adantr 484 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑖 ∈ dom 𝐼) → (𝑦 ∈ (0..^(♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹))))
179178imp 410 . . . . . . . . . . . . . . . . . . . . 21 (((𝜑𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
180179adantr 484 . . . . . . . . . . . . . . . . . . . 20 ((((𝜑𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹𝑦)) → ∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)))
181 fveq2 6645 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)) → (𝐹𝑦) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹))))
182181reximi 3206 . . . . . . . . . . . . . . . . . . . 20 (∃𝑧 ∈ (0..^𝑁)𝑦 = ((𝑧 + 𝑆) mod (♯‘𝐹)) → ∃𝑧 ∈ (0..^𝑁)(𝐹𝑦) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹))))
183180, 182syl 17 . . . . . . . . . . . . . . . . . . 19 ((((𝜑𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹𝑦)) → ∃𝑧 ∈ (0..^𝑁)(𝐹𝑦) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹))))
1843, 20, 213syl 18 . . . . . . . . . . . . . . . . . . . . . . 23 (𝜑𝐹 ∈ Word dom 𝐼)
185184ad3antrrr 729 . . . . . . . . . . . . . . . . . . . . . 22 ((((𝜑𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹𝑦)) → 𝐹 ∈ Word dom 𝐼)
186 elfzoelz 13033 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑆 ∈ (0..^𝑁) → 𝑆 ∈ ℤ)
1875, 186syl 17 . . . . . . . . . . . . . . . . . . . . . . 23 (𝜑𝑆 ∈ ℤ)
188187ad3antrrr 729 . . . . . . . . . . . . . . . . . . . . . 22 ((((𝜑𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹𝑦)) → 𝑆 ∈ ℤ)
18923eleq2i 2881 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑧 ∈ (0..^𝑁) ↔ 𝑧 ∈ (0..^(♯‘𝐹)))
190189biimpi 219 . . . . . . . . . . . . . . . . . . . . . 22 (𝑧 ∈ (0..^𝑁) → 𝑧 ∈ (0..^(♯‘𝐹)))
191 cshwidxmod 14156 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐹 ∈ Word dom 𝐼𝑆 ∈ ℤ ∧ 𝑧 ∈ (0..^(♯‘𝐹))) → ((𝐹 cyclShift 𝑆)‘𝑧) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹))))
192185, 188, 190, 191syl2an3an 1419 . . . . . . . . . . . . . . . . . . . . 21 (((((𝜑𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹𝑦)) ∧ 𝑧 ∈ (0..^𝑁)) → ((𝐹 cyclShift 𝑆)‘𝑧) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹))))
193192eqeq2d 2809 . . . . . . . . . . . . . . . . . . . 20 (((((𝜑𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹𝑦)) ∧ 𝑧 ∈ (0..^𝑁)) → ((𝐹𝑦) = ((𝐹 cyclShift 𝑆)‘𝑧) ↔ (𝐹𝑦) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹)))))
194193rexbidva 3255 . . . . . . . . . . . . . . . . . . 19 ((((𝜑𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹𝑦)) → (∃𝑧 ∈ (0..^𝑁)(𝐹𝑦) = ((𝐹 cyclShift 𝑆)‘𝑧) ↔ ∃𝑧 ∈ (0..^𝑁)(𝐹𝑦) = (𝐹‘((𝑧 + 𝑆) mod (♯‘𝐹)))))
195183, 194mpbird 260 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹𝑦)) → ∃𝑧 ∈ (0..^𝑁)(𝐹𝑦) = ((𝐹 cyclShift 𝑆)‘𝑧))
1961, 2, 3, 4, 5, 6crctcshlem2 27604 . . . . . . . . . . . . . . . . . . . . 21 (𝜑 → (♯‘𝐻) = 𝑁)
197196oveq2d 7151 . . . . . . . . . . . . . . . . . . . 20 (𝜑 → (0..^(♯‘𝐻)) = (0..^𝑁))
198197ad3antrrr 729 . . . . . . . . . . . . . . . . . . 19 ((((𝜑𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹𝑦)) → (0..^(♯‘𝐻)) = (0..^𝑁))
199 simpr 488 . . . . . . . . . . . . . . . . . . . 20 ((((𝜑𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹𝑦)) → 𝑖 = (𝐹𝑦))
2006fveq1i 6646 . . . . . . . . . . . . . . . . . . . . 21 (𝐻𝑧) = ((𝐹 cyclShift 𝑆)‘𝑧)
201200a1i 11 . . . . . . . . . . . . . . . . . . . 20 ((((𝜑𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹𝑦)) → (𝐻𝑧) = ((𝐹 cyclShift 𝑆)‘𝑧))
202199, 201eqeq12d 2814 . . . . . . . . . . . . . . . . . . 19 ((((𝜑𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹𝑦)) → (𝑖 = (𝐻𝑧) ↔ (𝐹𝑦) = ((𝐹 cyclShift 𝑆)‘𝑧)))
203198, 202rexeqbidv 3355 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹𝑦)) → (∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻𝑧) ↔ ∃𝑧 ∈ (0..^𝑁)(𝐹𝑦) = ((𝐹 cyclShift 𝑆)‘𝑧)))
204195, 203mpbird 260 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑖 ∈ dom 𝐼) ∧ 𝑦 ∈ (0..^(♯‘𝐹))) ∧ 𝑖 = (𝐹𝑦)) → ∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻𝑧))
205204rexlimdva2 3246 . . . . . . . . . . . . . . . 16 ((𝜑𝑖 ∈ dom 𝐼) → (∃𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹𝑦) → ∃𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻𝑧)))
206205ralimdva 3144 . . . . . . . . . . . . . . 15 (𝜑 → (∀𝑖 ∈ dom 𝐼𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹𝑦) → ∀𝑖 ∈ dom 𝐼𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻𝑧)))
207206impcom 411 . . . . . . . . . . . . . 14 ((∀𝑖 ∈ dom 𝐼𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹𝑦) ∧ 𝜑) → ∀𝑖 ∈ dom 𝐼𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻𝑧))
208207anim1ci 618 . . . . . . . . . . . . 13 (((∀𝑖 ∈ dom 𝐼𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹𝑦) ∧ 𝜑) ∧ 𝐻:(0..^(♯‘𝐻))⟶dom 𝐼) → (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼 ∧ ∀𝑖 ∈ dom 𝐼𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻𝑧)))
209 dffo3 6845 . . . . . . . . . . . . 13 (𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼 ↔ (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼 ∧ ∀𝑖 ∈ dom 𝐼𝑧 ∈ (0..^(♯‘𝐻))𝑖 = (𝐻𝑧)))
210208, 209sylibr 237 . . . . . . . . . . . 12 (((∀𝑖 ∈ dom 𝐼𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹𝑦) ∧ 𝜑) ∧ 𝐻:(0..^(♯‘𝐻))⟶dom 𝐼) → 𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼)
211210exp31 423 . . . . . . . . . . 11 (∀𝑖 ∈ dom 𝐼𝑦 ∈ (0..^(♯‘𝐹))𝑖 = (𝐹𝑦) → (𝜑 → (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼)))
21219, 211simplbiim 508 . . . . . . . . . 10 (𝐹:(0..^(♯‘𝐹))–onto→dom 𝐼 → (𝜑 → (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼)))
21318, 212simplbiim 508 . . . . . . . . 9 (𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼 → (𝜑 → (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼)))
214213com13 88 . . . . . . . 8 (𝐻:(0..^(♯‘𝐻))⟶dom 𝐼 → (𝜑 → (𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼)))
21517, 214syl 17 . . . . . . 7 (𝐻(Trails‘𝐺)𝑄 → (𝜑 → (𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼)))
216215impcom 411 . . . . . 6 ((𝜑𝐻(Trails‘𝐺)𝑄) → (𝐹:(0..^(♯‘𝐹))–1-1-onto→dom 𝐼𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼))
21713, 216mpd 15 . . . . 5 ((𝜑𝐻(Trails‘𝐺)𝑄) → 𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼)
2189, 217jca 515 . . . 4 ((𝜑𝐻(Trails‘𝐺)𝑄) → (𝐻(Trails‘𝐺)𝑄𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼))
2198, 218mpdan 686 . . 3 (𝜑 → (𝐻(Trails‘𝐺)𝑄𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼))
2202iseupth 27986 . . 3 (𝐻(EulerPaths‘𝐺)𝑄 ↔ (𝐻(Trails‘𝐺)𝑄𝐻:(0..^(♯‘𝐻))–onto→dom 𝐼))
221219, 220sylibr 237 . 2 (𝜑𝐻(EulerPaths‘𝐺)𝑄)
2221, 2, 3, 4, 5, 6, 7crctcsh 27610 . 2 (𝜑𝐻(Circuits‘𝐺)𝑄)
223221, 222jca 515 1 (𝜑 → (𝐻(EulerPaths‘𝐺)𝑄𝐻(Circuits‘𝐺)𝑄))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 209  wa 399  w3a 1084   = wceq 1538  wcel 2111  wral 3106  wrex 3107  ifcif 4425   class class class wbr 5030  cmpt 5110  dom cdm 5519  wf 6320  1-1wf1 6321  ontowfo 6322  1-1-ontowf1o 6323  cfv 6324  (class class class)co 7135  cc 10524  cr 10525  0cc0 10526   + caddc 10529   < clt 10664  cle 10665  cmin 10859  cn 11625  0cn0 11885  cz 11969  ...cfz 12885  ..^cfzo 13028   mod cmo 13232  chash 13686  Word cword 13857   cyclShift ccsh 14141  Vtxcvtx 26789  iEdgciedg 26790  Walkscwlks 27386  Trailsctrls 27480  Circuitsccrcts 27573  EulerPathsceupth 27982
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-9 2121  ax-10 2142  ax-11 2158  ax-12 2175  ax-ext 2770  ax-rep 5154  ax-sep 5167  ax-nul 5174  ax-pow 5231  ax-pr 5295  ax-un 7441  ax-cnex 10582  ax-resscn 10583  ax-1cn 10584  ax-icn 10585  ax-addcl 10586  ax-addrcl 10587  ax-mulcl 10588  ax-mulrcl 10589  ax-mulcom 10590  ax-addass 10591  ax-mulass 10592  ax-distr 10593  ax-i2m1 10594  ax-1ne0 10595  ax-1rid 10596  ax-rnegex 10597  ax-rrecex 10598  ax-cnre 10599  ax-pre-lttri 10600  ax-pre-lttrn 10601  ax-pre-ltadd 10602  ax-pre-mulgt0 10603  ax-pre-sup 10604
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-ifp 1059  df-3or 1085  df-3an 1086  df-tru 1541  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2598  df-eu 2629  df-clab 2777  df-cleq 2791  df-clel 2870  df-nfc 2938  df-ne 2988  df-nel 3092  df-ral 3111  df-rex 3112  df-reu 3113  df-rmo 3114  df-rab 3115  df-v 3443  df-sbc 3721  df-csb 3829  df-dif 3884  df-un 3886  df-in 3888  df-ss 3898  df-pss 3900  df-nul 4244  df-if 4426  df-pw 4499  df-sn 4526  df-pr 4528  df-tp 4530  df-op 4532  df-uni 4801  df-int 4839  df-iun 4883  df-br 5031  df-opab 5093  df-mpt 5111  df-tr 5137  df-id 5425  df-eprel 5430  df-po 5438  df-so 5439  df-fr 5478  df-we 5480  df-xp 5525  df-rel 5526  df-cnv 5527  df-co 5528  df-dm 5529  df-rn 5530  df-res 5531  df-ima 5532  df-pred 6116  df-ord 6162  df-on 6163  df-lim 6164  df-suc 6165  df-iota 6283  df-fun 6326  df-fn 6327  df-f 6328  df-f1 6329  df-fo 6330  df-f1o 6331  df-fv 6332  df-riota 7093  df-ov 7138  df-oprab 7139  df-mpo 7140  df-om 7561  df-1st 7671  df-2nd 7672  df-wrecs 7930  df-recs 7991  df-rdg 8029  df-1o 8085  df-oadd 8089  df-er 8272  df-map 8391  df-en 8493  df-dom 8494  df-sdom 8495  df-fin 8496  df-sup 8890  df-inf 8891  df-card 9352  df-pnf 10666  df-mnf 10667  df-xr 10668  df-ltxr 10669  df-le 10670  df-sub 10861  df-neg 10862  df-div 11287  df-nn 11626  df-2 11688  df-n0 11886  df-z 11970  df-uz 12232  df-rp 12378  df-ico 12732  df-fz 12886  df-fzo 13029  df-fl 13157  df-mod 13233  df-hash 13687  df-word 13858  df-concat 13914  df-substr 13994  df-pfx 14024  df-csh 14142  df-wlks 27389  df-trls 27482  df-crcts 27575  df-eupth 27983
This theorem is referenced by:  eucrct2eupth  28030
  Copyright terms: Public domain W3C validator