Skip to content

Commit c511207

Browse files
author
xleroy
committed
Axioms: remove prop_ext, currently unused AND unsound in Coq 8.4.
VERSION: bump version number. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2379 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
1 parent 3064d1d commit c511207

File tree

2 files changed

+18
-25
lines changed

2 files changed

+18
-25
lines changed

VERSION

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
2.0
2-
1+
2.2
32

43

lib/Axioms.v

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -16,44 +16,38 @@
1616
(** This file collects some axioms used throughout the CompCert development. *)
1717

1818
Require ClassicalFacts.
19+
Require FunctionalExtensionality.
1920

2021
(** * Extensionality axioms *)
2122

22-
(** The following [Require Export] gives us functional extensionality for dependent function types:
23-
<<
24-
Axiom functional_extensionality_dep : forall {A} {B : A -> Type},
25-
forall (f g : forall x : A, B x),
26-
(forall x, f x = g x) -> f = g.
27-
>>
28-
and, as a corollary, functional extensionality for non-dependent functions:
29-
<<
30-
Lemma functional_extensionality {A B} (f g : A -> B) :
23+
(** The [Require FunctionalExtensionality] gives us functional
24+
extensionality for dependent function types: *)
25+
26+
Lemma functional_extensionality_dep:
27+
forall {A: Type} {B : A -> Type} (f g : forall x : A, B x),
3128
(forall x, f x = g x) -> f = g.
32-
>>
29+
Proof @FunctionalExtensionality.functional_extensionality_dep.
30+
31+
(** and, as a corollary, functional extensionality for non-dependent functions:
3332
*)
34-
Require Export FunctionalExtensionality.
33+
34+
Lemma functional_extensionality:
35+
forall {A B: Type} (f g : A -> B), (forall x, f x = g x) -> f = g.
36+
Proof @FunctionalExtensionality.functional_extensionality.
3537

3638
(** For compatibility with earlier developments, [extensionality]
3739
is an alias for [functional_extensionality]. *)
3840

3941
Lemma extensionality:
4042
forall (A B: Type) (f g : A -> B), (forall x, f x = g x) -> f = g.
41-
Proof. intros; apply functional_extensionality. auto. Qed.
43+
Proof @functional_extensionality.
4244

4345
Implicit Arguments extensionality.
4446

45-
(** We also assert propositional extensionality. *)
46-
47-
Axiom prop_ext: ClassicalFacts.prop_extensionality.
48-
Implicit Arguments prop_ext.
49-
5047
(** * Proof irrelevance *)
5148

52-
(** We also use proof irrelevance, which is a consequence of propositional
53-
extensionality. *)
49+
(** We also use proof irrelevance. *)
50+
51+
Axiom proof_irr: ClassicalFacts.proof_irrelevance.
5452

55-
Lemma proof_irr: ClassicalFacts.proof_irrelevance.
56-
Proof.
57-
exact (ClassicalFacts.ext_prop_dep_proof_irrel_cic prop_ext).
58-
Qed.
5953
Implicit Arguments proof_irr.

0 commit comments

Comments
 (0)