Skip to content
Snippets Groups Projects
Commit bdfa43b9 authored by Ralf Jung's avatar Ralf Jung
Browse files

show that there are infinitely many locations

parent 5c07c3be
No related branches found
No related tags found
No related merge requests found
...@@ -11,6 +11,20 @@ Instance loc_inhabited : Inhabited loc := populate {|loc_car := 0 |}. ...@@ -11,6 +11,20 @@ Instance loc_inhabited : Inhabited loc := populate {|loc_car := 0 |}.
Instance loc_countable : Countable loc. Instance loc_countable : Countable loc.
Proof. by apply (inj_countable' loc_car (λ i, {| loc_car := i |})); intros []. Qed. Proof. by apply (inj_countable' loc_car (λ i, {| loc_car := i |})); intros []. Qed.
Program Definition loc_infinite : Infinite loc := {|
infinite_fresh l := {| loc_car := infinite_fresh (loc_car <$> l) |}
|}.
Next Obligation.
intros xs Hfresh. unfold fresh in Hfresh.
eapply (infinite_is_fresh (loc_car <$> xs)).
eapply elem_of_list_fmap. eexists. split; last done.
reflexivity.
Qed.
Next Obligation.
intros xs ys Hperm. unfold fresh. f_equal.
eapply infinite_fresh_Permutation. rewrite Hperm //.
Qed.
Definition loc_add (l : loc) (off : Z) : loc := Definition loc_add (l : loc) (off : Z) : loc :=
{| loc_car := loc_car l + off|}. {| loc_car := loc_car l + off|}.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment