feat(logic/quantifiers): tag congruence theorems
This commit is contained in:
parent
8e5e8e6540
commit
34f4e315ee
1 changed files with 6 additions and 3 deletions
|
@ -126,14 +126,17 @@ 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 : (∀ x, p₁ x) ↔ (∀ x, p₂ x) :=
|
theorem congr_forall [congr] : (∀ x, p₁ x) ↔ (∀ x, p₂ x) :=
|
||||||
forall_congr H
|
forall_congr H
|
||||||
|
|
||||||
theorem congr_exists : (∃ x, p₁ x) ↔ (∃ x, p₂ x) :=
|
theorem congr_exists [congr] : (∃ x, p₁ x) ↔ (∃ x, p₂ x) :=
|
||||||
exists_congr H
|
exists_congr H
|
||||||
|
|
||||||
include H
|
include H
|
||||||
theorem congr_exists_unique : (∃! x, p₁ x) ↔ (∃! x, p₂ x) :=
|
theorem congr_exists_unique [congr] : (∃! 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]
|
||||||
|
|
Loading…
Reference in a new issue