Skip to content

is N3 modal? ABLP logic n3 examples. #203

@bblfish

Description

@bblfish

As I am working on extending Solid Access Control with more flexible use cases, I wanted to see how far using the Abadi, Burrows, Lampson and Plotkin (ABLP) modal logic of says could help me formalise this work.
Luckily Dan Connolly in 2009 wrote up some N3 rules that are now in the repo formalising the ABLP Logic) (see pointers).

But ABLP is a modal logic. Especially these two formulas from the 1993 paper A Calculus for Access Control in Distributed Systems page 8:

$$\begin{align} & \vdash A \text{ says } (s \supset s') \supset (A \text{ says } s \supset A \text{ says } s') \tag*{(A)} \\\ \text{ if } &\vdash s \text{ then } \vdash A \text{ says } s \tag*{(B)} \end{align}$$

The first formula [A] is formalised on line 42 of says.n3

{ ?A :says { ?s => ?s2 } } => { { ?A :says ?s } => { ?A :says ?s2 } }.

The second formula [B] is given by @dckc on line 43

{ ?A a :Principal. ?s a log:Truth } => { ?A :says ?s }.

I think that is an error since what [B] means is not that ?s is True, but that it is a theorem, i.e. something like owl rules. It would not make sense for a thief to think that because he knew where the stolen jewels were, that the police did so too.

In any case, those formulas are modal formulas. As we discussed a while ago, folks, I understand that members of this list believe N3 should be a first-order logic. Does that exclude it being more? It seems like it should not stop that since the says relations is pretty central to the web.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions