2014-08-01 17:37:55 +00:00
|
|
|
logic
|
|
|
|
=====
|
|
|
|
|
2014-12-01 05:19:56 +00:00
|
|
|
Additional constructions and axioms. By default, `import logic` does not
|
|
|
|
import any axioms.
|
2014-08-01 17:37:55 +00:00
|
|
|
|
2014-10-05 17:50:13 +00:00
|
|
|
Logical operations and connectives.
|
|
|
|
|
2014-12-01 05:19:56 +00:00
|
|
|
* [eq](eq.lean) : additional theorems for equality and disequality
|
2014-10-05 17:50:13 +00:00
|
|
|
* [cast](cast.lean) : casts and heterogeneous equality
|
|
|
|
* [quantifiers](quantifiers.lean) : existential and universal quantifiers
|
|
|
|
* [identities](identities.lean) : some useful identities
|
|
|
|
|
|
|
|
Constructively, inhabited types have a witness, while nonempty types
|
|
|
|
are "proof irrelevant". Classically (assuming the axioms in
|
|
|
|
logic.axioms.hilbert) the two are equivalent. Type class inferences
|
|
|
|
are set up to use "inhabited" however, so users should use that to
|
|
|
|
declare that types have an element. Use "nonempty" in the hypothesis
|
|
|
|
of a theorem when the theorem does not depend on the witness chosen.
|
|
|
|
|
2014-08-01 17:37:55 +00:00
|
|
|
* [axioms](axioms/axioms.md) : additional axioms
|
2014-08-23 01:10:22 +00:00
|
|
|
* [examples](examples/examples.md)
|