Isabelle_DOF/examples
Nicolas Méric 76612ae6f3 Add checking of invariants for class instances
- Warning: the current implementation does yet not support
    some use-cases, like invariant on monitors,
    or the initialization of docitem without a class associated.
- Add first draft of the checking of invariants.
  For now, it is disabled by default because some cases
  are not yet supported, like the initialization of docitem
  without a class associated.
  ex: text*[sdf]‹ Lorem ipsum @{thm refl}›
- To enable the checking, one can use the theory attribute
  "invariants_checking" by declaring it in a theory like this:
  declare [[invariants_strict_checking = true]]
- A checking using basic tactics (unfolding and auto) can be enable
  with the "invariants_checking_with_tactics" theory attribute
  for specific use-cases
- The specification of invariants is now automatically abstracted,
  so one must define an invariant like this now:

  doc_class W =
  w::"int"
  invariant w :: "w σ ≥ 3"

  The old form:

  doc_class W =
  w::"int"
  invariant w :: "λσ. w σ ≥ 3"

  is now deprecated.
  The specification of the invariant still uses the σ-notation
  and is defined globally by the name component "invariantN"
- Update the invariants definition in the theories to match
  the new implementation
- Update the manual to explain this new feature
- Add small examples in src/tests/High_Level_Syntax_Invariants.thy
  and src/tests/Ontology_Matching_Example.thy
2022-01-24 17:30:48 +01:00
..
CC_ISO15408 added define_macros, corrections in 02_Background 2020-08-26 14:38:39 +02:00
CENELEC_50128 a first imprfect solution for the assert* problem; 4th chapter roughly completed. 2021-01-03 14:07:21 +01:00
cytology added paper frame, small things. 2021-12-16 13:49:44 +01:00
math_exam mmm 2020-06-22 17:42:40 +02:00
scholarly_paper added figures from IFM 19 paper 2022-01-14 15:31:15 +01:00
technical_report Add checking of invariants for class instances 2022-01-24 17:30:48 +01:00
README.md mmm 2020-06-22 17:42:40 +02:00
ROOTS steps to reform cicm/csp paper and manual 2020-11-04 11:18:43 +01:00

README.md

Examples

Scholarly (Academic) Papers

The examples in the directory scholarly_paper
are examples of typical conference papers (usually, in computer science).

Technical Reports

The examples in the directory technical_report
are examples of typical technical reports. This includes also the Isabelle/DOF User and Implementation Manual.