7.3.3 Macbeth 2

Introduction

The following text is a formalization of the following quotes from Macbeth by William Shakespeare:

Macbeth: "Is that a dagger which I see before me?" (2.1.31)
Macbeth: "I'll fight, till from my bones my flesh be hacked." (5.3.34)

Example

//
// macbeth2.plgCG
//
// Written by Henrik Scharfe, September 2003
// Last update: September 23, 2003
//

universal > object, process, proposition.
object > person, artifact.
person > pronoun, royal, man.
man > king.
royal > king.
artifact > weapon.
weapon > dagger.
process > act, state.

// Catalogue of individuals
act = ask, hacked, say.
person = Macbeth.
pronoun = pn_I, pn_me, pn_my.


 gr(act2,
  [act: ask]-
        -agnt->[person: Macbeth],
        -thme->[proposition = 
                [act: see]-
                        -agnt->[person: pn_I]
                        -obj->[object: *x]-
                                -bfore->[person: pn_me],
                                -type->[dagger]]).

 gr(act5,
  [act: say]-
    -agnt->[person: Macbeth],
    -thme->[proposition = 
               [act: will_fight]-
                    -agnt->[person: pn_I],
                    -until->[state =
                                 [act:hacked]-
                                    -ptnt->[flesh]<-poss-[person: pn_my],
                                    -from->[bone: {}]<-poss-[person: pn_my]]]).


com(act2, [man: Macbeth]).
com(act5, [royal: Macbeth]).


// predicates

branches(B):-
gr(L,G),
branchOfCG(B,G).

concepts(C):-
gr(L,G),
concOfCG(C,G).

//extracting the concepts in the embedded graph
conceptsProp(C):-
gr(L,G),
subsume([proposition],G),
branchOfCG([proposition = P], G),
concOfCG(C, P).

//extracting all concepts
AllConcepts(C):-
concepts(C).
AllConcepts(C):-
conceptsProp(C).
// Subsuming action
action(G):-
gr(L,G),
subsume([act]-agnt->[person],G).

// extracting referents
actor(a,b):-
gr(L,G),
subsume([act]-agnt->[person],G),
branchOfCG([act:a]-agnt->[person: b],G).

com2(a):-
com(act2,a).

com5(b):-
com(act5,b).

join(J):-
com2(a),
com5(b),
maximalJoin(a,b,J).

// Generalizing the graphs. The generalization of graphs 2 and 3 
// reveals that thay have more in common than just a person 
// saying something...

act2(a):-
gr(act2,a).

act5(b):-
gr(act5,b).


general(G):-
act2(A),
act5(B),
generalize(A,B,G).

isSubType(dagger, weapon).

weapon(a):-
AllConcepts(a),
isSubType(a, weapon).

Colophon

This example is available in the AAU directory as "macbeth2.plgCG".

It was written by Henrik Schärfe.


PrevLite: 7.3.2 Macbeth 1
NextLite: 7.3.4 Garfield

Prev: 7.3.2 Macbeth 1
Up: 7.3 Examples
Next: 7.3.4 Garfield