phanerozoic's picture
Replace the two-bank machine with a K-bank ring, prove its reproduction in Rocq, and revise the paper
a9ea017
Raw History Blame Contribute Delete
1.41 kB
(* The threshold network itself: started from the bits of a start state, its orbit holds the bits of the
machine's state at every step, so it carries every generation of the organism, and from the K-th
generation on it repeats every K generations. *)
From Stdlib Require Import List Bool Arith ZArith Lia.
Import ListNotations.
From TH Require Import TwoHead Organism PassCheck Run Main PhysSem PhysMain.
Section NetRing.
Variables (K S0 L : nat).
Hypotheses (HK : 2 <= K) (HS : G <= S0) (HL : length desc <= L).
Theorem network_reproduces : forall x0, start K S0 L x0 -> forall g, 1 <= g ->
netiter 6 K S0 L (g * T S0) (encode 6 K S0 L x0) = encode 6 K S0 L (itern 6 K S0 L (g * T S0) x0)
/\ after K S0 L x0 g (itern 6 K S0 L (g * T S0) x0).
Proof.
intros x0 Hs g Hg. split; [|exact (reproduces K S0 L HK HS HL x0 Hs g Hg)].
destruct Hs as (Hf & _).
exact (network_orbit 6 K S0 L (g * T S0) x0 ltac:(lia) HK (HS1' K S0 L HK HS HL) (HL1 K S0 L HK HS HL) Hf).
Qed.
Theorem network_periodic : forall x0, start K S0 L x0 -> forall g, K <= g ->
netiter 6 K S0 L ((g + K) * T S0) (encode 6 K S0 L x0) = netiter 6 K S0 L (g * T S0) (encode 6 K S0 L x0).
Proof.
intros x0 Hs g Hg. pose proof Hs as (Hf & _).
rewrite !(network_orbit 6 K S0 L _ x0 ltac:(lia) HK (HS1' K S0 L HK HS HL) (HL1 K S0 L HK HS HL) Hf).
rewrite (periodic K S0 L HK HS HL x0 Hs g Hg). reflexivity.
Qed.
End NetRing.