Library Coq.Logic.ChoiceFacts
Some facts and definitions concerning choice and description in
intuitionistic logic.
We investigate the relations between the following choice and
description principles
- AC_rel = relational form of the (non extensional) axiom of choice
(a "set-theoretic" axiom of choice)
- AC_fun = functional form of the (non extensional) axiom of choice
(a "type-theoretic" axiom of choice)
- DC_fun = functional form of the dependent axiom of choice
- ACw_fun = functional form of the countable axiom of choice
- AC! = functional relation reification
(known as axiom of unique choice in topos theory,
sometimes called principle of definite description in
the context of constructive type theory)
- GAC_rel = guarded relational form of the (non extensional) axiom of choice
- GAC_fun = guarded functional form of the (non extensional) axiom of choice
- GAC! = guarded functional relation reification
- OAC_rel = "omniscient" relational form of the (non extensional) axiom of choice
- OAC_fun = "omniscient" functional form of the (non extensional) axiom of choice
(called AC* in Bell [Bell])
- OAC!
- ID_iota = intuitionistic definite description
- ID_epsilon = intuitionistic indefinite description
- D_iota = (weakly classical) definite description principle
- D_epsilon = (weakly classical) indefinite description principle
- PI = proof irrelevance
- IGP = independence of general premises
(an unconstrained generalisation of the constructive principle of
independence of premises)
- Drinker = drinker's paradox (small form)
(called Ex in Bell [Bell])
We let also
- IPL_2 = 2nd-order impredicative minimal predicate logic (with ex. quant.)
- IPL^2 = 2nd-order functional minimal predicate logic (with ex. quant.)
- IPL_2^2 = 2nd-order impredicative, 2nd-order functional minimal pred. logic (with ex. quant.)
with no prerequisite on the non-emptyness of domains
Table of contents
1. Definitions
2. IPL_2^2 |- AC_rel + AC! = AC_fun
3.1. typed IPL_2 + Sigma-types + PI |- AC_rel = GAC_rel and IPL_2 |- AC_rel + IGP -> GAC_rel and IPL_2 |- GAC_rel = OAC_rel
3.2. IPL^2 |- AC_fun + IGP = GAC_fun = OAC_fun = AC_fun + Drinker
3.3. D_iota -> ID_iota and D_epsilon <-> ID_epsilon + Drinker
4. Derivability of choice for decidable relations with well-ordered codomain
5. Equivalence of choices on dependent or non dependent functional types
6. Non contradiction of constructive descriptions wrt functional choices
7. Definite description transports classical logic to the computational world
8. Choice -> Dependent choice -> Countable choice
References:
[Bell] John L. Bell, Choice principles in intuitionistic set theory,
unpublished.
[Bell93] John L. Bell, Hilbert's Epsilon Operator in Intuitionistic
Type Theories, Mathematical Logic Quarterly, volume 39, 1993.
[Carlström05] Jesper Carlström, Interpreting descriptions in
intentional type theory, Journal of Symbolic Logic 70(2):488-514, 2005.
Set Implicit Arguments.
Definitions
Choice, reification and description schemes
Constructive choice and description
AC_rel
AC_fun
DC_fun
ACw_fun
AC! or Functional Relation Reification (known as Axiom of Unique Choice
in topos theory; also called principle of definite description
ID_epsilon (constructive version of indefinite description;
combined with proof-irrelevance, it may be connected to
Carlström's type theory with a constructive indefinite description
operator)
ID_iota (constructive version of definite description; combined
with proof-irrelevance, it may be connected to Carlström's and
Stenlund's type theory with a constructive definite description
operator)
Weakly classical choice and description
GAC_rel
GAC_fun
GFR_fun
OAC_rel
OAC_fun
D_epsilon
D_iota
Generalized schemes
Notation RelationalChoice :=
(
forall A B,
RelationalChoice_on A B).
Notation FunctionalChoice :=
(
forall A B,
FunctionalChoice_on A B).
Definition FunctionalDependentChoice :=
(
forall A,
FunctionalDependentChoice_on A).
Definition FunctionalCountableChoice :=
(
forall A,
FunctionalCountableChoice_on A).
Notation FunctionalChoiceOnInhabitedSet :=
(
forall A B,
inhabited B ->
FunctionalChoice_on A B).
Notation FunctionalRelReification :=
(
forall A B,
FunctionalRelReification_on A B).
Notation GuardedRelationalChoice :=
(
forall A B,
GuardedRelationalChoice_on A B).
Notation GuardedFunctionalChoice :=
(
forall A B,
GuardedFunctionalChoice_on A B).
Notation GuardedFunctionalRelReification :=
(
forall A B,
GuardedFunctionalRelReification_on A B).
Notation OmniscientRelationalChoice :=
(
forall A B,
OmniscientRelationalChoice_on A B).
Notation OmniscientFunctionalChoice :=
(
forall A B,
OmniscientFunctionalChoice_on A B).
Notation ConstructiveDefiniteDescription :=
(
forall A,
ConstructiveDefiniteDescription_on A).
Notation ConstructiveIndefiniteDescription :=
(
forall A,
ConstructiveIndefiniteDescription_on A).
Notation IotaStatement :=
(
forall A,
IotaStatement_on A).
Notation EpsilonStatement :=
(
forall A,
EpsilonStatement_on A).
Subclassical schemes
AC_rel + AC! = AC_fun
We show that the functional formulation of the axiom of Choice
(usual formulation in type theory) is equivalent to its relational
formulation (only formulation of set theory) + functional relation
reification (aka axiom of unique choice, or, principle of (parametric)
definite descriptions)
This shows that the axiom of choice can be assumed (under its
relational formulation) without known inconsistency with classical logic,
though functional relation reification conflicts with classical logic
Connection between the guarded, non guarded and omniscient choices
We show that the guarded formulations of the axiom of choice
are equivalent to their "omniscient" variant and comes from the non guarded
formulation in presence either of the independance of general premises
or subset types (themselves derivable from subtypes thanks to proof-
irrelevance)
AC_rel + PI -> GAC_rel and AC_rel + IGP -> GAC_rel and GAC_rel = OAC_rel
OAC_rel = GAC_rel
AC_fun + IGP = GAC_fun = OAC_fun = AC_fun + Drinker
AC_fun + IGP = GAC_fun
AC_fun + Drinker = OAC_fun
This was already observed by Bell
[Bell]
OAC_fun = GAC_fun
This is derivable from the intuitionistic equivalence between IGP and Drinker
but we give a direct proof
D_iota -> ID_iota and D_epsilon <-> ID_epsilon + Drinker
D_iota -> ID_iota
ID_epsilon + Drinker <-> D_epsilon
Derivability of choice for decidable relations with well-ordered codomain
Countable codomains, such as
nat, can be equipped with a
well-order, which implies the existence of a least element on
inhabited decidable subsets. As a consequence, the relational form of
the axiom of choice is derivable on
nat for decidable relations.
We show instead that functional relation reification and the
functional form of the axiom of choice are equivalent on decidable
relation with
nat as codomain
Choice on dependent and non dependent function types are equivalent
Choice on dependent and non dependent function types are equivalent
The easy part
Deriving choice on product types requires some computation on
singleton propositional types, so we need computational
conjunction projections and dependent elimination of conjunction
and equality
Reification of dependent and non dependent functional relation are equivalent
The easy part
Deriving choice on product types requires some computation on
singleton propositional types, so we need computational
conjunction projections and dependent elimination of conjunction
and equality
Non contradiction of constructive descriptions wrt functional axioms of choice
Non contradiction of indefinite description
Non contradiction of definite description
Remark, the following corollaries morally hold:
Definition In_propositional_context (A:Type) := forall C:Prop, (A -> C) -> C.
Corollary constructive_definite_descr_in_prop_context_iff_fun_reification :
In_propositional_context ConstructiveIndefiniteDescription
<-> FunctionalChoice.
Corollary constructive_definite_descr_in_prop_context_iff_fun_reification :
In_propositional_context ConstructiveDefiniteDescription
<-> FunctionalRelReification.
but expecting
FunctionalChoice (resp.
FunctionalRelReification) to
be applied on the same Type universes on both sides of the first
(resp. second) equivalence breaks the stratification of universes.
Excluded-middle + definite description => computational excluded-middle
The idea for the following proof comes from
[ChicliPottierSimpson02]
Classical logic and axiom of unique choice (i.e. functional
relation reification), as shown in
[ChicliPottierSimpson02],
implies the double-negation of excluded-middle in
Set (which is
incompatible with the impredicativity of
Set).
We adapt the proof to show that constructive definite description
transports excluded-middle from
Prop to
Set.
[ChicliPottierSimpson02] Laurent Chicli, Loïc Pottier, Carlos
Simpson, Mathematical Quotients and Quotient Types in Coq,
Proceedings of TYPES 2002, Lecture Notes in Computer Science 2646,
Springer Verlag.
Choice => Dependent choice => Countable choice