From d9fa512368e37d89661fba06e7eb263d965f20fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorsten=20Wi=C3=9Fmann?= <uni@thorsten-wissmann.de> Date: Thu, 9 Jan 2014 14:08:00 +0100 Subject: [PATCH] Add comments for CL rules --- CoAlgLogics.ml | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/CoAlgLogics.ml b/CoAlgLogics.ml index 81059d4..1cd8324 100644 --- a/CoAlgLogics.ml +++ b/CoAlgLogics.ml @@ -134,6 +134,44 @@ let mkRule_MultiModalKD sort bs sl = res := None; AllInOne rules + +(* + CoalitionLogic: tableau rules for satisfiability + + Rule 1: + + /\ n + / \i=1 [C_i] a_i n ≥ 0, + —————————————————————— C_i pairwise disjoint + /\ n + / \i=1 a_i + + Rule 2: + + /\ n /\ m + / \i=1 [C_i] a_i /\ <D> b / \j=1 <N> c_j n,m ≥ 0 + ———————————————————————————————————————————————— C_i pairwise disjoint + /\ n /\ m all C_i ⊆ D + / \i=1 a_i /\ b / \j=1 c_j +*) + + +let mkRule_CL sort bs sl = + assert (List.length sl = 1); (* TODO: Why? *) + let s1 = List.hd sl in (* [s1] = List.hd sl *) + (* + mkRule_CL sort bs [s1] + = { (λ[bs1]. { ∀R.D + | <D> b ∈ bs + } + ∪ { (λ[bs1].{ [C_i]a_i ∈ bs | a_i ∈ bs1} + , [(s1, { a_i | i∈I })] + ) + | {[C_i]a_i | i∈I} ⊆ bs, + C_i pairwise disjoint and I maximal + } + *) + let mkRule_Choice sort bs sl = assert (List.length sl = 2); let dep bsl = @@ -211,5 +249,6 @@ let mkRule_Fusion sort bs sl = let getExpandingFunctionProducer = function | MultiModalK -> mkRule_MultiModalK | MultiModalKD -> mkRule_MultiModalKD + | CoalitionLogic -> mkRule_CL | Choice -> mkRule_Choice | Fusion -> mkRule_Fusion -- GitLab