feat(library/standard/logic): add identities

This commit is contained in:
Jeremy Avigad 2014-08-22 13:23:45 -07:00 committed by Leonardo de Moura
parent df60ab4ada
commit ad969b4695
6 changed files with 4 additions and 6 deletions

View file

@ -24,7 +24,7 @@ abbreviation cases_on {A B : Type} {P : (A + B) → Prop} (s : A + B)
sum_rec H1 H2 s
-- Here is the trick for the theorems that follow:
-- Fixing a1, "f s" is a recursive description of "inl B1 a1 = s".
-- Fixing a1, "f s" is a recursive description of "inl B a1 = s".
-- When s is (inl B a1), it reduces to a1 = a1.
-- When s is (inl B a2), it reduces to a1 = a2.
-- When s is (inr A b), it reduces to false.

View file

@ -179,6 +179,7 @@ iff_intro
(assume Hb, iff_elim_right H Hb)
(assume Ha, iff_elim_left H Ha)
calc_refl iff_refl
calc_trans iff_trans

View file

@ -10,4 +10,5 @@ Logical operations and connectives.
* [quantifiers](quantifiers.lean) : existential and universal quantifiers
* [if](if.lean) : if-then-else
* [instances](instances.lean) : type class instances
* [identities](identities.lean) : some useful identities
* [examples](examples/examples.md)

View file

@ -119,8 +119,6 @@ theorem subst_iff {P : Prop → Prop} {C : congr iff iff P} {a b : Prop} (H : a
-- Support for calculations with iff
-- ----------------
calc_refl iff_refl
calc_trans iff_trans
calc_subst subst_iff
namespace iff_ops

View file

@ -6,4 +6,4 @@
import logic.connectives.basic logic.connectives.eq logic.connectives.quantifiers
import logic.classes.decidable logic.classes.inhabited logic.connectives.instances
import logic.connectives.if
import logic.connectives.if logic.connectives.identities

View file

@ -1,8 +1,6 @@
----------------------------------------------------------------------------------------------------
-- Copyright (c) 2014 Microsoft Corporation. All rights reserved.
-- Released under Apache 2.0 license as described in the file LICENSE.
-- Author: Leonardo de Moura
----------------------------------------------------------------------------------------------------
import logic.connectives.eq
using eq_ops