public override int VisitLemmasDecl(LemmasDecl d) { _sb.Append("lemmas ").Append(d.Name).Append(" = "); _sb.Append(d.ThmNames.SpaceAggregate()); return(0); }
public IList <OuterDecl> Prelude() { var assmLabels = assmManager.AllAssumptionLabels(); var globalAssmsLemmas = new LemmasDecl(globalAssmsName, assmLabels); var closedAssm = assmManager.GetAssumptionLabel(AssumptionManager.SpecialAssumptionsKind.TypeValClosed); var forallPolyThm = new LemmasDecl("forall_poly_thm", new List <string> { "forall_vc_type[OF " + closedAssm + "]" }); var existsPolyThm = new LemmasDecl("exists_poly_thm", new List <string> { "exists_vc_type[OF " + closedAssm + "]" }); // if One_nat_def is not removed from the simpset, then there is an issue with the assumption "ns 1 = ...", // since Isabelle rewrites it to Suc 0 and a subsequent step in the proof may fail var decl = new DeclareDecl("Nat.One_nat_def[simp del]"); return(new List <OuterDecl> { globalAssmsLemmas, forallPolyThm, existsPolyThm, decl }); }