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

Theorem cshfnOLD 13873
Description: Obsolete version of cshfn 13872 as of 12-Oct-2022. (Contributed by AV, 20-May-2018.) (Revised by AV, 17-Nov-2018.) (New usage is discouraged.) (Proof modification is discouraged.)
Assertion
Ref Expression
cshfnOLD ((𝑊 ∈ {𝑓 ∣ ∃𝑙 ∈ ℕ0 𝑓 Fn (0..^𝑙)} ∧ 𝑁 ∈ ℤ) → (𝑊 cyclShiftOLD 𝑁) = if(𝑊 = ∅, ∅, ((𝑊 substr ⟨(𝑁 mod (♯‘𝑊)), (♯‘𝑊)⟩) ++ (𝑊 substr ⟨0, (𝑁 mod (♯‘𝑊))⟩))))
Distinct variable group:   𝑓,𝑙
Allowed substitution hints:   𝑁(𝑓,𝑙)   𝑊(𝑓,𝑙)

Proof of Theorem cshfnOLD
Dummy variables 𝑛 𝑤 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eqeq1 2803 . . . 4 (𝑤 = 𝑊 → (𝑤 = ∅ ↔ 𝑊 = ∅))
21adantr 473 . . 3 ((𝑤 = 𝑊𝑛 = 𝑁) → (𝑤 = ∅ ↔ 𝑊 = ∅))
3 simpl 475 . . . . 5 ((𝑤 = 𝑊𝑛 = 𝑁) → 𝑤 = 𝑊)
4 simpr 478 . . . . . . 7 ((𝑤 = 𝑊𝑛 = 𝑁) → 𝑛 = 𝑁)
5 fveq2 6411 . . . . . . . 8 (𝑤 = 𝑊 → (♯‘𝑤) = (♯‘𝑊))
65adantr 473 . . . . . . 7 ((𝑤 = 𝑊𝑛 = 𝑁) → (♯‘𝑤) = (♯‘𝑊))
74, 6oveq12d 6896 . . . . . 6 ((𝑤 = 𝑊𝑛 = 𝑁) → (𝑛 mod (♯‘𝑤)) = (𝑁 mod (♯‘𝑊)))
87, 6opeq12d 4601 . . . . 5 ((𝑤 = 𝑊𝑛 = 𝑁) → ⟨(𝑛 mod (♯‘𝑤)), (♯‘𝑤)⟩ = ⟨(𝑁 mod (♯‘𝑊)), (♯‘𝑊)⟩)
93, 8oveq12d 6896 . . . 4 ((𝑤 = 𝑊𝑛 = 𝑁) → (𝑤 substr ⟨(𝑛 mod (♯‘𝑤)), (♯‘𝑤)⟩) = (𝑊 substr ⟨(𝑁 mod (♯‘𝑊)), (♯‘𝑊)⟩))
107opeq2d 4600 . . . . 5 ((𝑤 = 𝑊𝑛 = 𝑁) → ⟨0, (𝑛 mod (♯‘𝑤))⟩ = ⟨0, (𝑁 mod (♯‘𝑊))⟩)
113, 10oveq12d 6896 . . . 4 ((𝑤 = 𝑊𝑛 = 𝑁) → (𝑤 substr ⟨0, (𝑛 mod (♯‘𝑤))⟩) = (𝑊 substr ⟨0, (𝑁 mod (♯‘𝑊))⟩))
129, 11oveq12d 6896 . . 3 ((𝑤 = 𝑊𝑛 = 𝑁) → ((𝑤 substr ⟨(𝑛 mod (♯‘𝑤)), (♯‘𝑤)⟩) ++ (𝑤 substr ⟨0, (𝑛 mod (♯‘𝑤))⟩)) = ((𝑊 substr ⟨(𝑁 mod (♯‘𝑊)), (♯‘𝑊)⟩) ++ (𝑊 substr ⟨0, (𝑁 mod (♯‘𝑊))⟩)))
132, 12ifbieq2d 4302 . 2 ((𝑤 = 𝑊𝑛 = 𝑁) → if(𝑤 = ∅, ∅, ((𝑤 substr ⟨(𝑛 mod (♯‘𝑤)), (♯‘𝑤)⟩) ++ (𝑤 substr ⟨0, (𝑛 mod (♯‘𝑤))⟩))) = if(𝑊 = ∅, ∅, ((𝑊 substr ⟨(𝑁 mod (♯‘𝑊)), (♯‘𝑊)⟩) ++ (𝑊 substr ⟨0, (𝑁 mod (♯‘𝑊))⟩))))
14 df-cshOLD 13871 . 2 cyclShiftOLD = (𝑤 ∈ {𝑓 ∣ ∃𝑙 ∈ ℕ0 𝑓 Fn (0..^𝑙)}, 𝑛 ∈ ℤ ↦ if(𝑤 = ∅, ∅, ((𝑤 substr ⟨(𝑛 mod (♯‘𝑤)), (♯‘𝑤)⟩) ++ (𝑤 substr ⟨0, (𝑛 mod (♯‘𝑤))⟩))))
15 0ex 4984 . . 3 ∅ ∈ V
16 ovex 6910 . . 3 ((𝑊 substr ⟨(𝑁 mod (♯‘𝑊)), (♯‘𝑊)⟩) ++ (𝑊 substr ⟨0, (𝑁 mod (♯‘𝑊))⟩)) ∈ V
1715, 16ifex 4325 . 2 if(𝑊 = ∅, ∅, ((𝑊 substr ⟨(𝑁 mod (♯‘𝑊)), (♯‘𝑊)⟩) ++ (𝑊 substr ⟨0, (𝑁 mod (♯‘𝑊))⟩))) ∈ V
1813, 14, 17ovmpt2a 7025 1 ((𝑊 ∈ {𝑓 ∣ ∃𝑙 ∈ ℕ0 𝑓 Fn (0..^𝑙)} ∧ 𝑁 ∈ ℤ) → (𝑊 cyclShiftOLD 𝑁) = if(𝑊 = ∅, ∅, ((𝑊 substr ⟨(𝑁 mod (♯‘𝑊)), (♯‘𝑊)⟩) ++ (𝑊 substr ⟨0, (𝑁 mod (♯‘𝑊))⟩))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 198  wa 385   = wceq 1653  wcel 2157  {cab 2785  wrex 3090  c0 4115  ifcif 4277  cop 4374   Fn wfn 6096  cfv 6101  (class class class)co 6878  0cc0 10224  0cn0 11580  cz 11666  ..^cfzo 12720   mod cmo 12923  chash 13370   ++ cconcat 13590   substr csubstr 13664   cyclShiftOLD ccshOLD 13869
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1891  ax-4 1905  ax-5 2006  ax-6 2072  ax-7 2107  ax-9 2166  ax-10 2185  ax-11 2200  ax-12 2213  ax-13 2377  ax-ext 2777  ax-sep 4975  ax-nul 4983  ax-pr 5097
This theorem depends on definitions:  df-bi 199  df-an 386  df-or 875  df-3an 1110  df-tru 1657  df-ex 1876  df-nf 1880  df-sb 2065  df-mo 2591  df-eu 2609  df-clab 2786  df-cleq 2792  df-clel 2795  df-nfc 2930  df-ral 3094  df-rex 3095  df-rab 3098  df-v 3387  df-sbc 3634  df-dif 3772  df-un 3774  df-in 3776  df-ss 3783  df-nul 4116  df-if 4278  df-sn 4369  df-pr 4371  df-op 4375  df-uni 4629  df-br 4844  df-opab 4906  df-id 5220  df-xp 5318  df-rel 5319  df-cnv 5320  df-co 5321  df-dm 5322  df-iota 6064  df-fun 6103  df-fv 6109  df-ov 6881  df-oprab 6882  df-mpt2 6883  df-cshOLD 13871
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator