fix(logic/quantifiers): restore original

This commit is contained in:
Daniel Selsam 2015-11-07 13:39:31 -08:00 committed by Leonardo de Moura
parent 6c2c82f47c
commit bacb9f99aa
3 changed files with 9 additions and 6 deletions

View file

@ -126,17 +126,14 @@ end
section section
variables {A : Type} {p₁ p₂ : A → Prop} (H : ∀ x, p₁ x ↔ p₂ x) variables {A : Type} {p₁ p₂ : A → Prop} (H : ∀ x, p₁ x ↔ p₂ x)
theorem congr_forall [congr] : (∀ x, p₁ x) ↔ (∀ x, p₂ x) := theorem congr_forall : (∀ x, p₁ x) ↔ (∀ x, p₂ x) :=
forall_congr H forall_congr H
theorem congr_exists [congr] : (∃ x, p₁ x) ↔ (∃ x, p₂ x) := theorem congr_exists : (∃ x, p₁ x) ↔ (∃ x, p₂ x) :=
exists_congr H exists_congr H
include H include H
theorem congr_exists_unique [congr] : (∃! x, p₁ x) ↔ (∃! x, p₂ x) := theorem congr_exists_unique : (∃! x, p₁ x) ↔ (∃! x, p₂ x) :=
congr_exists (λx, congr_and (H x) (congr_forall congr_exists (λx, congr_and (H x) (congr_forall
(λy, congr_imp (H y) iff.rfl))) (λy, congr_imp (H y) iff.rfl)))
end end
/- We add this attribute again here so that the simplifier finds it before [congr_forall] -/
attribute congr_imp [congr]

View file

@ -1,6 +1,9 @@
/- Basic pi congruence -/ /- Basic pi congruence -/
import logic.connectives logic.quantifiers import logic.connectives logic.quantifiers
attribute congr_forall [congr]
attribute congr_imp [congr]
namespace pi_congr1 namespace pi_congr1
constants (p1 q1 p2 q2 p3 q3 : Prop) (H1 : p1 ↔ q1) (H2 : p2 ↔ q2) (H3 : p3 ↔ q3) constants (p1 q1 p2 q2 p3 q3 : Prop) (H1 : p1 ↔ q1) (H2 : p2 ↔ q2) (H3 : p3 ↔ q3)
local attribute H1 [simp] local attribute H1 [simp]

View file

@ -1,6 +1,9 @@
-- Rewriting with (tmp)-local hypotheses -- Rewriting with (tmp)-local hypotheses
import logic.quantifiers import logic.quantifiers
attribute congr_forall [congr]
attribute congr_imp [congr]
universe l universe l
constants (T : Type.{l}) (P Q : T → Prop) constants (T : Type.{l}) (P Q : T → Prop)