blob: a9da68e1654cd8f76d41ec957b05f0c241380021 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
(************************************************************************)
(* v * The Coq Proof Assistant / The Coq Development Team *)
(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2016 *)
(* \VV/ **************************************************************)
(* // * This file is distributed under the terms of the *)
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
(** This module states a limited form axiom of functional
extensionality which selects a canonical representative in each
class of extensional functions *)
(** Its main interest is that it is the needed ingredient to provide
axiom of choice on setoids (a.k.a. axiom of extensional choice)
when combined with classical logic and axiom of (intensonal)
choice *)
(** It provides extensionality of functions while still supporting (a
priori) an intensional interpretation of equality *)
Axiom extensional_function_representative :
forall A B, exists repr, forall (f : A -> B),
(forall x, f x = repr f x) /\
(forall g, (forall x, f x = g x) -> repr f = repr g).
|