Theory HOL-Real_Asymp.Lazy_Eval
section ‹Lazy evaluation within the logic›
theory Lazy_Eval
imports
  Complex_Main
begin
text ‹  
  This is infrastructure to lazily evaluate an expression (typically something corecursive)
  within the logic by simple rewriting. A signature of supported (co-)datatype constructures 
  upon which pattern matching is allowed and a list of function equations that are used in
  rewriting must be provided.
  One can then e.\,g.\ determine whether a given pattern matches a given expression. To do this,
  the expression will be rewritten using the given function equations until enough constructors
  have been exposed to decide whether the pattern matches.
  This infrastructure was developed specifically for evaluating Multiseries expressions, but
  can, in principle, be used for other purposes as well.
›
lemma meta_eq_TrueE: "PROP P ≡ Trueprop True ⟹ PROP P" by simp