(**************************************************************************) (* ___ *) (* ||M|| *) (* ||A|| A project by Andrea Asperti *) (* ||T|| *) (* ||I|| Developers: *) (* ||T|| The HELM team. *) (* ||A|| http://helm.cs.unibo.it *) (* \ / *) (* \ / This file is distributed under the terms of the *) (* v GNU General Public License Version 2 *) (* *) (**************************************************************************) (* This file was automatically generated: do not edit *********************) include "Coq.ma". include "Init/Prelude.ma". (*#***********************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* > *) (* UNEXPORTED Set Implicit Arguments. *) (* UNEXPORTED Section Berardis_paradox *) (*#* Excluded middle *) (* UNEXPORTED cic:/Coq/Logic/Berardi/Berardis_paradox/EM.var *) (*#* Conditional on any proposition. *) inline procedural "cic:/Coq/Logic/Berardi/IFProp.con" as definition. (*#* Axiom of choice applied to disjunction. Provable in Coq because of dependent elimination. *) inline procedural "cic:/Coq/Logic/Berardi/AC_IF.con" as lemma. (*#* We assume a type with two elements. They play the role of booleans. The main theorem under the current assumptions is that [T=F] *) (* UNEXPORTED cic:/Coq/Logic/Berardi/Berardis_paradox/Bool.var *) (* UNEXPORTED cic:/Coq/Logic/Berardi/Berardis_paradox/T.var *) (* UNEXPORTED cic:/Coq/Logic/Berardi/Berardis_paradox/F.var *) (*#* The powerset operator *) inline procedural "cic:/Coq/Logic/Berardi/pow.con" as definition. (*#* A piece of theory about retracts *) (* UNEXPORTED Section Retracts *) (* UNEXPORTED cic:/Coq/Logic/Berardi/Berardis_paradox/Retracts/A.var *) (* UNEXPORTED cic:/Coq/Logic/Berardi/Berardis_paradox/Retracts/B.var *) inline procedural "cic:/Coq/Logic/Berardi/retract.ind". inline procedural "cic:/Coq/Logic/Berardi/retract_cond.ind". (*#* The dependent elimination above implies the axiom of choice: *) inline procedural "cic:/Coq/Logic/Berardi/AC.con" as lemma. (* UNEXPORTED End Retracts *) (*#* This lemma is basically a commutation of implication and existential quantification: (EX x | A -> P(x)) <=> (A -> EX x | P(x)) which is provable in classical logic ( => is already provable in intuitionnistic logic). *) inline procedural "cic:/Coq/Logic/Berardi/L1.con" as lemma. (*#* The paradoxical set *) inline procedural "cic:/Coq/Logic/Berardi/U.con" as definition. (*#* Bijection between [U] and [(pow U)] *) inline procedural "cic:/Coq/Logic/Berardi/f.con" as definition. inline procedural "cic:/Coq/Logic/Berardi/g.con" as definition. (*#* We deduce that the powerset of [U] is a retract of [U]. This lemma is stated in Berardi's article, but is not used afterwards. *) inline procedural "cic:/Coq/Logic/Berardi/retract_pow_U_U.con" as lemma. (*#* Encoding of Russel's paradox *) (*#* The boolean negation. *) inline procedural "cic:/Coq/Logic/Berardi/Not_b.con" as definition. (*#* the set of elements not belonging to itself *) inline procedural "cic:/Coq/Logic/Berardi/R.con" as definition. inline procedural "cic:/Coq/Logic/Berardi/not_has_fixpoint.con" as lemma. inline procedural "cic:/Coq/Logic/Berardi/classical_proof_irrelevence.con" as theorem. (* UNEXPORTED End Berardis_paradox *)