Theory DEAK_Core_SE

theory DEAK_Core_SE
imports Main
theory (*calc_name_core_se-BEGIN*)DEAK_Core_SE(*calc_name_core_se-END*)
imports Main
begin

(*calc_structure_se-BEGIN*)
type_synonym Action = string

type_synonym Agent = string

type_synonym Atprop = string

datatype Formula = Formula_FboxA Action Formula ("fboxAF _ _" [330,330] 331)
                 | Formula_FdiamA Action Formula ("fdiamAF _ _" [330,330] 331)
                 | Formula_BboxA Action Formula ("bboxAF _ _" [330,330] 331)
                 | Formula_BdiamA Action Formula ("bdiamAF _ _" [330,330] 331)
                 | Formula_FboxK Agent Formula ("fboxKF _ _" [330,330] 331)
                 | Formula_FdiamK Agent Formula ("fdiamKF _ _" [330,330] 331)
                 | Formula_BboxK Agent Formula ("bboxKF _ _" [330,330] 331)
                 | Formula_BdiamK Agent Formula ("bdiamKF _ _" [330,330] 331)
                 | Formula_Atprop Atprop ("_ F" [320] 330)
                 | Formula_And Formula Formula (infix "∧F" 330)
                 | Formula_ImpL Formula Formula (infix "←F" 330)
                 | Formula_DImpL Formula Formula (infix "-<F" 330)
                 | Formula_DImpR Formula Formula (infix ">-F" 330)
                 | Formula_Or Formula Formula (infix "∨F" 330)
                 | Formula_ImpR Formula Formula (infix "→F" 330)
                 | Formula_Precondition Action ("OneF _" [340] 330)
                 | Formula_Top ("⊤F")
                 | Formula_Bot ("⊥F")

datatype Structure = Structure_ForwA Action Structure ("forwAS _ _" [330,330] 331)
                   | Structure_BackA Action Structure ("backAS _ _" [330,330] 331)
                   | Structure_BackK Agent Structure ("backKS _ _" [330,330] 331)
                   | Structure_ForwK Agent Structure ("forwKS _ _" [330,330] 331)
                   | Structure_Bigcomma "Structure list" (";;S _" [330] 331)
                   | Structure_Comma Structure Structure (infix ";S" 340)
                   | Structure_ImpL Structure Structure (infix "←S" 340)
                   | Structure_ImpR Structure Structure (infix "→S" 340)
                   | Structure_Formula Formula ("_ S" [330] 340)
                   | Structure_Phi Action ("PhiS _" [340] 330)
                   | Structure_Neutral ("IS")

datatype Sequent = Sequent Structure Structure ("_ ⊢S _" [311,311] 310)
(*calc_structure_se-END*)


end