Skip to content

Commit 032991c

Browse files
authored
Small fixes (#3)
1 parent 6dec46c commit 032991c

File tree

3 files changed

+49
-10
lines changed

3 files changed

+49
-10
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
- [Synthetic Kolmogorov Complexity in Coq](https://drops.dagstuhl.de/opus/volltexte/2022/16721/) doi:[10.4230/LIPIcs.ITP.2022.12](https://doi.org/10.4230/LIPIcs.ITP.2022.12)
2525
- [Constructive and Synthetic Reducibility Degrees: Post's Problem for Many-One and Truth-Table Reducibility in Coq](https://doi.org/10.4230/LIPIcs.CSL.2023.21) doi:[10.4230/LIPIcs.CSL.2023.21](https://doi.org/10.4230/LIPIcs.CSL.2023.21)
2626
- [A Computational Cantor-Bernstein and Myhill's Isomorphism Theorem in Constructive Type Theory (Proof Pearl)](https://hal.inria.fr/hal-03891390/file/myhill-cantor-cpp23.pdf) doi:[10.1145/3573105.3575690](https://doi.org/10.1145/3573105.3575690)
27+
- [Oracle Computability and Turing Reducibility in the Calculus of Inductive Constructions](https://arxiv.org/abs/2307.15543) doi:[10.48550/arXiv.2307.15543](https://doi.org/10.48550/arXiv.2307.15543)
2728

2829
## Description
2930

theories/PostsTheorem/ArithmeticalHierarchySemantic.v

Lines changed: 44 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -685,13 +685,50 @@ Section ArithmeticalHierarchySemantic.
685685
eapply H. now eapply isΣΠn_In_ΠΣSn.
686686
Qed.
687687

688-
Goal DNE_Π 1.
689-
Proof.
690-
intros k p H x. depelim H. depelim H.
691-
cbn in *. rewrite H0. setoid_rewrite H.
692-
firstorder. destruct (f (x0 :: x)) eqn:E; eauto.
693-
contradiction H1. intros HE.
694-
rewrite HE in E. congruence.
688+
From SyntheticComputability Require Import principles.
689+
690+
Lemma level1 :
691+
DNE_Σ 0
692+
/\ (LEM_Σ 1 <-> LPO)
693+
/\ (DNE_Σ 1 <-> MP)
694+
/\ (LEM_Π 1 <-> WLPO)
695+
/\ DNE_Π 1.
696+
Proof.
697+
repeat split.
698+
- intros k p H v. depelim H. cbn in H.
699+
rewrite H. destruct (f v); firstorder congruence.
700+
- intros H f. destruct (H 0 (fun _ => exists n, f n = true)) as [ | ];
701+
firstorder.
702+
eapply (isΣsemS (p := fun v => f (Vector.hd v) = true)).
703+
eapply isΠsem0. exact Vector.nil.
704+
- intros H k p Hp v. depelim Hp. depelim H0.
705+
cbn in *. rewrite H1. setoid_rewrite H0.
706+
destruct (H (fun x => f (x :: v))); firstorder.
707+
- intros H f. eapply (H 0 (fun _ => exists n, f n = true)).
708+
eapply (isΣsemS (p := fun v => f (Vector.hd v) = true)).
709+
eapply isΠsem0. exact Vector.nil.
710+
- intros H k p Hp v. depelim Hp. depelim H0.
711+
cbn in *. rewrite H1. setoid_rewrite H0.
712+
eapply (H (fun x => f (x :: v))).
713+
- intros H f. destruct (H 0 (fun _ => forall n, f n = false)) as [ | ];
714+
firstorder.
715+
eapply (isΠsemS (p := fun v => f (Vector.hd v) = false)).
716+
eapply isΣsem0_ with (f := fun v => negb (f (Vector.hd v))).
717+
intros. destruct (f (Vector.hd v)); cbn; firstorder congruence.
718+
exact Vector.nil.
719+
- intros H k p Hp v. depelim Hp. depelim H0.
720+
cbn in *. rewrite H1. setoid_rewrite H0.
721+
red in H. destruct (H (fun x => negb (f (x :: v)))).
722+
+ left. intros. specialize (H2 x).
723+
destruct (f (x :: v)); cbn in *; congruence.
724+
+ right. intros ?. eapply H2. intros x.
725+
specialize (H3 x).
726+
destruct (f (x :: v)); cbn in *; congruence.
727+
- intros k p H x. depelim H. depelim H.
728+
cbn in *. rewrite H0. setoid_rewrite H.
729+
firstorder. destruct (f (x0 :: x)) eqn:E; eauto.
730+
contradiction H1. intros HE.
731+
rewrite HE in E. congruence.
695732
Qed.
696733

697734
Definition ArithmeticHierarchyNegation n :=

theories/PostsTheorem/TuringJump.v

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,7 @@ Section jump.
308308
eapply not_semidecidable_compl_J; eassumption.
309309
Qed.
310310

311+
(** # <a id="J_self_J_m_red" /> #*)
311312
Lemma J_self_𝒥_m_red:
312313
forall Q, (J Q) ⪯ₘ (𝒥 Q).
313314
Proof.
@@ -380,10 +381,10 @@ Section jump.
380381

381382
Notation "P ⪯ᴛ Q" := (red_Turing P Q) (at level 50).
382383

383-
Lemma red_T_imp_red_T_jumps (P : nat -> Prop) (Q : nat -> Prop):
384-
P ⪯ᴛ Q -> (J P) ⪯ (J Q).
384+
Lemma red_T_imp_red_m_jumps (P : nat -> Prop) (Q : nat -> Prop):
385+
P ⪯ᴛ Q -> (J P) ⪯ (J Q).
385386
Proof.
386-
intros rT. apply red_m_impl_red_T, red_m_iff_semidec_jump.
387+
intros rT. apply red_m_iff_semidec_jump.
387388
eapply Turing_transports_sdec; [apply semidecidable_J|apply rT].
388389
Qed.
389390

0 commit comments

Comments
 (0)