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

Theorem crctcsh 26955
Description: Cyclically shifting the indices of a circuit 𝐹, 𝑃 results in a circuit 𝐻, 𝑄. (Contributed by AV, 10-Mar-2021.) (Proof shortened by AV, 31-Oct-2021.)
Hypotheses
Ref Expression
crctcsh.v 𝑉 = (Vtx‘𝐺)
crctcsh.i 𝐼 = (iEdg‘𝐺)
crctcsh.d (𝜑𝐹(Circuits‘𝐺)𝑃)
crctcsh.n 𝑁 = (♯‘𝐹)
crctcsh.s (𝜑𝑆 ∈ (0..^𝑁))
crctcsh.h 𝐻 = (𝐹 cyclShift 𝑆)
crctcsh.q 𝑄 = (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ (𝑁𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))))
Assertion
Ref Expression
crctcsh (𝜑𝐻(Circuits‘𝐺)𝑄)
Distinct variable groups:   𝑥,𝑁   𝑥,𝑃   𝑥,𝑆   𝜑,𝑥   𝑥,𝐹   𝑥,𝐼   𝑥,𝑉   𝑥,𝐻
Allowed substitution hints:   𝑄(𝑥)   𝐺(𝑥)

Proof of Theorem crctcsh
StepHypRef Expression
1 crctcsh.v . . . 4 𝑉 = (Vtx‘𝐺)
2 crctcsh.i . . . 4 𝐼 = (iEdg‘𝐺)
3 crctcsh.d . . . 4 (𝜑𝐹(Circuits‘𝐺)𝑃)
4 crctcsh.n . . . 4 𝑁 = (♯‘𝐹)
5 crctcsh.s . . . 4 (𝜑𝑆 ∈ (0..^𝑁))
6 crctcsh.h . . . 4 𝐻 = (𝐹 cyclShift 𝑆)
7 crctcsh.q . . . 4 𝑄 = (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ (𝑁𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))))
81, 2, 3, 4, 5, 6, 7crctcshlem4 26951 . . 3 ((𝜑𝑆 = 0) → (𝐻 = 𝐹𝑄 = 𝑃))
9 breq12 4860 . . . . 5 ((𝐻 = 𝐹𝑄 = 𝑃) → (𝐻(Circuits‘𝐺)𝑄𝐹(Circuits‘𝐺)𝑃))
103, 9syl5ibrcom 238 . . . 4 (𝜑 → ((𝐻 = 𝐹𝑄 = 𝑃) → 𝐻(Circuits‘𝐺)𝑄))
1110adantr 468 . . 3 ((𝜑𝑆 = 0) → ((𝐻 = 𝐹𝑄 = 𝑃) → 𝐻(Circuits‘𝐺)𝑄))
128, 11mpd 15 . 2 ((𝜑𝑆 = 0) → 𝐻(Circuits‘𝐺)𝑄)
131, 2, 3, 4, 5, 6, 7crctcshtrl 26954 . . . 4 (𝜑𝐻(Trails‘𝐺)𝑄)
1413adantr 468 . . 3 ((𝜑𝑆 ≠ 0) → 𝐻(Trails‘𝐺)𝑄)
157a1i 11 . . . . 5 ((𝜑𝑆 ≠ 0) → 𝑄 = (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ (𝑁𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁)))))
16 breq1 4858 . . . . . . 7 (𝑥 = 0 → (𝑥 ≤ (𝑁𝑆) ↔ 0 ≤ (𝑁𝑆)))
17 oveq1 6888 . . . . . . . 8 (𝑥 = 0 → (𝑥 + 𝑆) = (0 + 𝑆))
1817fveq2d 6419 . . . . . . 7 (𝑥 = 0 → (𝑃‘(𝑥 + 𝑆)) = (𝑃‘(0 + 𝑆)))
1917fvoveq1d 6903 . . . . . . 7 (𝑥 = 0 → (𝑃‘((𝑥 + 𝑆) − 𝑁)) = (𝑃‘((0 + 𝑆) − 𝑁)))
2016, 18, 19ifbieq12d 4317 . . . . . 6 (𝑥 = 0 → if(𝑥 ≤ (𝑁𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))) = if(0 ≤ (𝑁𝑆), (𝑃‘(0 + 𝑆)), (𝑃‘((0 + 𝑆) − 𝑁))))
21 elfzo0le 12743 . . . . . . . . . 10 (𝑆 ∈ (0..^𝑁) → 𝑆𝑁)
225, 21syl 17 . . . . . . . . 9 (𝜑𝑆𝑁)
231, 2, 3, 4crctcshlem1 26948 . . . . . . . . . . 11 (𝜑𝑁 ∈ ℕ0)
2423nn0red 11625 . . . . . . . . . 10 (𝜑𝑁 ∈ ℝ)
25 elfzoelz 12701 . . . . . . . . . . . 12 (𝑆 ∈ (0..^𝑁) → 𝑆 ∈ ℤ)
265, 25syl 17 . . . . . . . . . . 11 (𝜑𝑆 ∈ ℤ)
2726zred 11755 . . . . . . . . . 10 (𝜑𝑆 ∈ ℝ)
2824, 27subge0d 10909 . . . . . . . . 9 (𝜑 → (0 ≤ (𝑁𝑆) ↔ 𝑆𝑁))
2922, 28mpbird 248 . . . . . . . 8 (𝜑 → 0 ≤ (𝑁𝑆))
3029adantr 468 . . . . . . 7 ((𝜑𝑆 ≠ 0) → 0 ≤ (𝑁𝑆))
3130iftrued 4298 . . . . . 6 ((𝜑𝑆 ≠ 0) → if(0 ≤ (𝑁𝑆), (𝑃‘(0 + 𝑆)), (𝑃‘((0 + 𝑆) − 𝑁))) = (𝑃‘(0 + 𝑆)))
3220, 31sylan9eqr 2873 . . . . 5 (((𝜑𝑆 ≠ 0) ∧ 𝑥 = 0) → if(𝑥 ≤ (𝑁𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))) = (𝑃‘(0 + 𝑆)))
333adantr 468 . . . . . . 7 ((𝜑𝑆 ≠ 0) → 𝐹(Circuits‘𝐺)𝑃)
341, 2, 33, 4crctcshlem1 26948 . . . . . 6 ((𝜑𝑆 ≠ 0) → 𝑁 ∈ ℕ0)
35 0elfz 12667 . . . . . 6 (𝑁 ∈ ℕ0 → 0 ∈ (0...𝑁))
3634, 35syl 17 . . . . 5 ((𝜑𝑆 ≠ 0) → 0 ∈ (0...𝑁))
37 fvexd 6430 . . . . 5 ((𝜑𝑆 ≠ 0) → (𝑃‘(0 + 𝑆)) ∈ V)
3815, 32, 36, 37fvmptd 6516 . . . 4 ((𝜑𝑆 ≠ 0) → (𝑄‘0) = (𝑃‘(0 + 𝑆)))
39 breq1 4858 . . . . . . . 8 (𝑥 = (♯‘𝐻) → (𝑥 ≤ (𝑁𝑆) ↔ (♯‘𝐻) ≤ (𝑁𝑆)))
40 oveq1 6888 . . . . . . . . 9 (𝑥 = (♯‘𝐻) → (𝑥 + 𝑆) = ((♯‘𝐻) + 𝑆))
4140fveq2d 6419 . . . . . . . 8 (𝑥 = (♯‘𝐻) → (𝑃‘(𝑥 + 𝑆)) = (𝑃‘((♯‘𝐻) + 𝑆)))
4240fvoveq1d 6903 . . . . . . . 8 (𝑥 = (♯‘𝐻) → (𝑃‘((𝑥 + 𝑆) − 𝑁)) = (𝑃‘(((♯‘𝐻) + 𝑆) − 𝑁)))
4339, 41, 42ifbieq12d 4317 . . . . . . 7 (𝑥 = (♯‘𝐻) → if(𝑥 ≤ (𝑁𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))) = if((♯‘𝐻) ≤ (𝑁𝑆), (𝑃‘((♯‘𝐻) + 𝑆)), (𝑃‘(((♯‘𝐻) + 𝑆) − 𝑁))))
44 elfzoel2 12700 . . . . . . . . . . . 12 (𝑆 ∈ (0..^𝑁) → 𝑁 ∈ ℤ)
45 elfzonn0 12744 . . . . . . . . . . . 12 (𝑆 ∈ (0..^𝑁) → 𝑆 ∈ ℕ0)
46 simpr 473 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0) → 𝑆 ∈ ℕ0)
4746anim1i 604 . . . . . . . . . . . . . . . 16 (((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0) ∧ 𝑆 ≠ 0) → (𝑆 ∈ ℕ0𝑆 ≠ 0))
48 elnnne0 11580 . . . . . . . . . . . . . . . 16 (𝑆 ∈ ℕ ↔ (𝑆 ∈ ℕ0𝑆 ≠ 0))
4947, 48sylibr 225 . . . . . . . . . . . . . . 15 (((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0) ∧ 𝑆 ≠ 0) → 𝑆 ∈ ℕ)
5049nngt0d 11357 . . . . . . . . . . . . . 14 (((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0) ∧ 𝑆 ≠ 0) → 0 < 𝑆)
51 zre 11654 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℤ → 𝑁 ∈ ℝ)
52 nn0re 11575 . . . . . . . . . . . . . . . . 17 (𝑆 ∈ ℕ0𝑆 ∈ ℝ)
5351, 52anim12ci 603 . . . . . . . . . . . . . . . 16 ((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0) → (𝑆 ∈ ℝ ∧ 𝑁 ∈ ℝ))
5453adantr 468 . . . . . . . . . . . . . . 15 (((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0) ∧ 𝑆 ≠ 0) → (𝑆 ∈ ℝ ∧ 𝑁 ∈ ℝ))
55 ltsubpos 10812 . . . . . . . . . . . . . . . 16 ((𝑆 ∈ ℝ ∧ 𝑁 ∈ ℝ) → (0 < 𝑆 ↔ (𝑁𝑆) < 𝑁))
5655bicomd 214 . . . . . . . . . . . . . . 15 ((𝑆 ∈ ℝ ∧ 𝑁 ∈ ℝ) → ((𝑁𝑆) < 𝑁 ↔ 0 < 𝑆))
5754, 56syl 17 . . . . . . . . . . . . . 14 (((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0) ∧ 𝑆 ≠ 0) → ((𝑁𝑆) < 𝑁 ↔ 0 < 𝑆))
5850, 57mpbird 248 . . . . . . . . . . . . 13 (((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0) ∧ 𝑆 ≠ 0) → (𝑁𝑆) < 𝑁)
5958ex 399 . . . . . . . . . . . 12 ((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0) → (𝑆 ≠ 0 → (𝑁𝑆) < 𝑁))
6044, 45, 59syl2anc 575 . . . . . . . . . . 11 (𝑆 ∈ (0..^𝑁) → (𝑆 ≠ 0 → (𝑁𝑆) < 𝑁))
615, 60syl 17 . . . . . . . . . 10 (𝜑 → (𝑆 ≠ 0 → (𝑁𝑆) < 𝑁))
6261imp 395 . . . . . . . . 9 ((𝜑𝑆 ≠ 0) → (𝑁𝑆) < 𝑁)
635adantr 468 . . . . . . . . . . . . 13 ((𝜑𝑆 ≠ 0) → 𝑆 ∈ (0..^𝑁))
641, 2, 33, 4, 63, 6crctcshlem2 26949 . . . . . . . . . . . 12 ((𝜑𝑆 ≠ 0) → (♯‘𝐻) = 𝑁)
6564breq1d 4865 . . . . . . . . . . 11 ((𝜑𝑆 ≠ 0) → ((♯‘𝐻) ≤ (𝑁𝑆) ↔ 𝑁 ≤ (𝑁𝑆)))
6665notbid 309 . . . . . . . . . 10 ((𝜑𝑆 ≠ 0) → (¬ (♯‘𝐻) ≤ (𝑁𝑆) ↔ ¬ 𝑁 ≤ (𝑁𝑆)))
6724, 27resubcld 10750 . . . . . . . . . . . . 13 (𝜑 → (𝑁𝑆) ∈ ℝ)
6867, 24jca 503 . . . . . . . . . . . 12 (𝜑 → ((𝑁𝑆) ∈ ℝ ∧ 𝑁 ∈ ℝ))
6968adantr 468 . . . . . . . . . . 11 ((𝜑𝑆 ≠ 0) → ((𝑁𝑆) ∈ ℝ ∧ 𝑁 ∈ ℝ))
70 ltnle 10409 . . . . . . . . . . 11 (((𝑁𝑆) ∈ ℝ ∧ 𝑁 ∈ ℝ) → ((𝑁𝑆) < 𝑁 ↔ ¬ 𝑁 ≤ (𝑁𝑆)))
7169, 70syl 17 . . . . . . . . . 10 ((𝜑𝑆 ≠ 0) → ((𝑁𝑆) < 𝑁 ↔ ¬ 𝑁 ≤ (𝑁𝑆)))
7266, 71bitr4d 273 . . . . . . . . 9 ((𝜑𝑆 ≠ 0) → (¬ (♯‘𝐻) ≤ (𝑁𝑆) ↔ (𝑁𝑆) < 𝑁))
7362, 72mpbird 248 . . . . . . . 8 ((𝜑𝑆 ≠ 0) → ¬ (♯‘𝐻) ≤ (𝑁𝑆))
7473iffalsed 4301 . . . . . . 7 ((𝜑𝑆 ≠ 0) → if((♯‘𝐻) ≤ (𝑁𝑆), (𝑃‘((♯‘𝐻) + 𝑆)), (𝑃‘(((♯‘𝐻) + 𝑆) − 𝑁))) = (𝑃‘(((♯‘𝐻) + 𝑆) − 𝑁)))
7543, 74sylan9eqr 2873 . . . . . 6 (((𝜑𝑆 ≠ 0) ∧ 𝑥 = (♯‘𝐻)) → if(𝑥 ≤ (𝑁𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))) = (𝑃‘(((♯‘𝐻) + 𝑆) − 𝑁)))
761, 2, 3, 4, 5, 6crctcshlem2 26949 . . . . . . . . . . . . 13 (𝜑 → (♯‘𝐻) = 𝑁)
7776, 23eqeltrd 2896 . . . . . . . . . . . 12 (𝜑 → (♯‘𝐻) ∈ ℕ0)
7877nn0cnd 11626 . . . . . . . . . . 11 (𝜑 → (♯‘𝐻) ∈ ℂ)
7926zcnd 11756 . . . . . . . . . . 11 (𝜑𝑆 ∈ ℂ)
8023nn0cnd 11626 . . . . . . . . . . 11 (𝜑𝑁 ∈ ℂ)
8178, 79, 80addsubd 10705 . . . . . . . . . 10 (𝜑 → (((♯‘𝐻) + 𝑆) − 𝑁) = (((♯‘𝐻) − 𝑁) + 𝑆))
8276oveq1d 6896 . . . . . . . . . . . 12 (𝜑 → ((♯‘𝐻) − 𝑁) = (𝑁𝑁))
8380subidd 10672 . . . . . . . . . . . 12 (𝜑 → (𝑁𝑁) = 0)
8482, 83eqtrd 2851 . . . . . . . . . . 11 (𝜑 → ((♯‘𝐻) − 𝑁) = 0)
8584oveq1d 6896 . . . . . . . . . 10 (𝜑 → (((♯‘𝐻) − 𝑁) + 𝑆) = (0 + 𝑆))
8681, 85eqtrd 2851 . . . . . . . . 9 (𝜑 → (((♯‘𝐻) + 𝑆) − 𝑁) = (0 + 𝑆))
8786fveq2d 6419 . . . . . . . 8 (𝜑 → (𝑃‘(((♯‘𝐻) + 𝑆) − 𝑁)) = (𝑃‘(0 + 𝑆)))
8887adantr 468 . . . . . . 7 ((𝜑𝑆 ≠ 0) → (𝑃‘(((♯‘𝐻) + 𝑆) − 𝑁)) = (𝑃‘(0 + 𝑆)))
8988adantr 468 . . . . . 6 (((𝜑𝑆 ≠ 0) ∧ 𝑥 = (♯‘𝐻)) → (𝑃‘(((♯‘𝐻) + 𝑆) − 𝑁)) = (𝑃‘(0 + 𝑆)))
9075, 89eqtrd 2851 . . . . 5 (((𝜑𝑆 ≠ 0) ∧ 𝑥 = (♯‘𝐻)) → if(𝑥 ≤ (𝑁𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))) = (𝑃‘(0 + 𝑆)))
9176adantr 468 . . . . . 6 ((𝜑𝑆 ≠ 0) → (♯‘𝐻) = 𝑁)
92 nn0fz0 12668 . . . . . . . 8 (𝑁 ∈ ℕ0𝑁 ∈ (0...𝑁))
9323, 92sylib 209 . . . . . . 7 (𝜑𝑁 ∈ (0...𝑁))
9493adantr 468 . . . . . 6 ((𝜑𝑆 ≠ 0) → 𝑁 ∈ (0...𝑁))
9591, 94eqeltrd 2896 . . . . 5 ((𝜑𝑆 ≠ 0) → (♯‘𝐻) ∈ (0...𝑁))
9615, 90, 95, 37fvmptd 6516 . . . 4 ((𝜑𝑆 ≠ 0) → (𝑄‘(♯‘𝐻)) = (𝑃‘(0 + 𝑆)))
9738, 96eqtr4d 2854 . . 3 ((𝜑𝑆 ≠ 0) → (𝑄‘0) = (𝑄‘(♯‘𝐻)))
98 iscrct 26924 . . 3 (𝐻(Circuits‘𝐺)𝑄 ↔ (𝐻(Trails‘𝐺)𝑄 ∧ (𝑄‘0) = (𝑄‘(♯‘𝐻))))
9914, 97, 98sylanbrc 574 . 2 ((𝜑𝑆 ≠ 0) → 𝐻(Circuits‘𝐺)𝑄)
10012, 99pm2.61dane 3076 1 (𝜑𝐻(Circuits‘𝐺)𝑄)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 197  wa 384   = wceq 1637  wcel 2157  wne 2989  Vcvv 3402  ifcif 4290   class class class wbr 4855  cmpt 4934  cfv 6108  (class class class)co 6881  cr 10227  0cc0 10228   + caddc 10231   < clt 10366  cle 10367  cmin 10558  cn 11312  0cn0 11566  cz 11650  ...cfz 12556  ..^cfzo 12696  chash 13344   cyclShift ccsh 13765  Vtxcvtx 26098  iEdgciedg 26099  Trailsctrls 26825  Circuitsccrcts 26918
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1877  ax-4 1894  ax-5 2001  ax-6 2069  ax-7 2105  ax-8 2159  ax-9 2166  ax-10 2186  ax-11 2202  ax-12 2215  ax-13 2422  ax-ext 2795  ax-rep 4975  ax-sep 4986  ax-nul 4994  ax-pow 5046  ax-pr 5107  ax-un 7186  ax-cnex 10284  ax-resscn 10285  ax-1cn 10286  ax-icn 10287  ax-addcl 10288  ax-addrcl 10289  ax-mulcl 10290  ax-mulrcl 10291  ax-mulcom 10292  ax-addass 10293  ax-mulass 10294  ax-distr 10295  ax-i2m1 10296  ax-1ne0 10297  ax-1rid 10298  ax-rnegex 10299  ax-rrecex 10300  ax-cnre 10301  ax-pre-lttri 10302  ax-pre-lttrn 10303  ax-pre-ltadd 10304  ax-pre-mulgt0 10305  ax-pre-sup 10306
This theorem depends on definitions:  df-bi 198  df-an 385  df-or 866  df-ifp 1079  df-3or 1101  df-3an 1102  df-tru 1641  df-ex 1860  df-nf 1864  df-sb 2062  df-mo 2635  df-eu 2642  df-clab 2804  df-cleq 2810  df-clel 2813  df-nfc 2948  df-ne 2990  df-nel 3093  df-ral 3112  df-rex 3113  df-reu 3114  df-rmo 3115  df-rab 3116  df-v 3404  df-sbc 3645  df-csb 3740  df-dif 3783  df-un 3785  df-in 3787  df-ss 3794  df-pss 3796  df-nul 4128  df-if 4291  df-pw 4364  df-sn 4382  df-pr 4384  df-tp 4386  df-op 4388  df-uni 4642  df-int 4681  df-iun 4725  df-br 4856  df-opab 4918  df-mpt 4935  df-tr 4958  df-id 5230  df-eprel 5235  df-po 5243  df-so 5244  df-fr 5281  df-we 5283  df-xp 5328  df-rel 5329  df-cnv 5330  df-co 5331  df-dm 5332  df-rn 5333  df-res 5334  df-ima 5335  df-pred 5904  df-ord 5950  df-on 5951  df-lim 5952  df-suc 5953  df-iota 6071  df-fun 6110  df-fn 6111  df-f 6112  df-f1 6113  df-fo 6114  df-f1o 6115  df-fv 6116  df-riota 6842  df-ov 6884  df-oprab 6885  df-mpt2 6886  df-om 7303  df-1st 7405  df-2nd 7406  df-wrecs 7649  df-recs 7711  df-rdg 7749  df-1o 7803  df-oadd 7807  df-er 7986  df-map 8101  df-pm 8102  df-en 8200  df-dom 8201  df-sdom 8202  df-fin 8203  df-sup 8594  df-inf 8595  df-card 9055  df-pnf 10368  df-mnf 10369  df-xr 10370  df-ltxr 10371  df-le 10372  df-sub 10560  df-neg 10561  df-div 10977  df-nn 11313  df-2 11371  df-n0 11567  df-z 11651  df-uz 11912  df-rp 12054  df-fz 12557  df-fzo 12697  df-fl 12824  df-mod 12900  df-hash 13345  df-word 13517  df-concat 13519  df-substr 13521  df-csh 13766  df-wlks 26733  df-trls 26827  df-crcts 26920
This theorem is referenced by:  eucrctshift  27426
  Copyright terms: Public domain W3C validator