Theory HOL_Alignment_Predicates
subsection ‹Alignment With Predicate Definitions from HOL›
theory HOL_Alignment_Predicates
imports
Main
HOL_Mem_Of
Predicates
begin
named_theorems HOL_predicate_alignment
subparagraph ‹Quantifiers›
adhoc_overloading ball Ball
lemma Ball_eq_ball_pred [HOL_predicate_alignment]: "∀⇘A⇙ = ∀⇘mem_of A⇙" by auto
lemma Ball_eq_ball_pred_uhint [uhint]:
assumes "P ≡ mem_of A"
shows "∀⇘A⇙ = ∀⇘P⇙"
using assms by (simp add: Ball_eq_ball_pred)
lemma Ball_iff_ball_pred [HOL_predicate_alignment]: "(∀x : A. Q x) ⟷ (∀x : mem_of A. Q x)"
by (simp add: Ball_eq_ball_pred)
adhoc_overloading bex Bex
lemma Bex_eq_bex_pred [HOL_predicate_alignment]: "∃⇘A⇙ = ∃⇘mem_of A⇙" by fast
lemma Bex_eq_bex_pred_uhint [uhint]:
assumes "P ≡ mem_of A"
shows "∃⇘A⇙ = ∃⇘P⇙"
using assms by (simp add: Bex_eq_bex_pred)
lemma Bex_iff_bex_pred [HOL_predicate_alignment]: "(∃x : A. Q x) ⟷ (∃x : mem_of A. Q x)"
by (simp add: Bex_eq_bex_pred)
end