Skip to content

Commit 8572aab

Browse files
committed
lemma_25
1 parent d8679be commit 8572aab

File tree

1 file changed

+29
-5
lines changed

1 file changed

+29
-5
lines changed

GoldbachTm/Tm31/Content.lean

+29-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,36 @@
11
import GoldbachTm.Tm31.TuringMachine31
2+
import GoldbachTm.Tm31.PBP
23
import Mathlib.Data.Nat.Prime.Defs
34

4-
theorem lemma_25 (n : ℕ): ∀ (i : ℕ),
5-
nth_cfg i = some ⟨⟨25, by omega⟩, ⟨Γ.zero, Turing.ListBlank.mk (List.replicate n Γ.one), Turing.ListBlank.mk []⟩⟩ →
6-
(∃ x y, x + y = n /\ Nat.Prime x /\ Nat.Prime y) →
7-
∃ j, nth_cfg (i+j) = some ⟨⟨25, by omega⟩, ⟨Γ.zero, Turing.ListBlank.mk (List.replicate (n+2) Γ.one), Turing.ListBlank.mk []⟩⟩
5+
theorem lemma_25 (n : ℕ) (i : ℕ)
6+
(g :
7+
nth_cfg i = some ⟨⟨25, by omega⟩, ⟨Γ.zero, Turing.ListBlank.mk (List.replicate (n+4) Γ.one), Turing.ListBlank.mk []⟩⟩ )
8+
( hpp : (∃ x y, x + y = n+4 /\ Nat.Prime x /\ Nat.Prime y)) :
9+
∃ j, nth_cfg (i+j) = some ⟨⟨25, by omega⟩, ⟨Γ.zero, Turing.ListBlank.mk (List.replicate (n+4+2) Γ.one), Turing.ListBlank.mk []⟩⟩
810
:= by
9-
sorry
11+
forward g g i
12+
repeat rw [← List.replicate_succ] at g
13+
apply (leap_26 _ _ 0) at g
14+
any_goals omega
15+
refine (?_ ∘ g) ?_
16+
. intros g
17+
obtain ⟨k, h⟩ := g
18+
use (1+k)
19+
ring_nf at *
20+
simp [h]
21+
. obtain ⟨x, y, _, hx, hy⟩ := hpp
22+
by_cases x ≤ y
23+
. use! x, y
24+
repeat any_goals apply And.intro
25+
any_goals assumption
26+
apply Nat.Prime.two_le at hx
27+
omega
28+
. use! y, x
29+
repeat any_goals apply And.intro
30+
any_goals assumption
31+
any_goals omega
32+
apply Nat.Prime.two_le at hy
33+
omega
1034

1135
theorem halt_lemma :
1236
(∃ (n x y: ℕ), Even n /\ n > 2 /\ x + y = n /\ Nat.Prime x /\ Nat.Prime y) →

0 commit comments

Comments
 (0)