Skip to content Skip to navigation

Connexions

You are here: Home » Content » Reference: first-order WaterWorld

Navigation

Recently Viewed

This feature requires Javascript to be enabled.

Reference: first-order WaterWorld

Module by: John Greiner, Phokion Kolaitis, Moshe Vardi, Matthias Felleisen. E-mail the authors

User rating (How does the rating system work?)
Ratings

Ratings allow you to judge the quality of modules. If other users have ranked the module then its average rating is displayed below. Ratings are calculated on a scale from one star (Poor) to five stars (Excellent).

How to rate a module

Hover over the star that corresponds to the rating you wish to assign. Click on the star to add your rating. Your rating should be based on the quality of the content. You must have an account and be logged in to rate content.

:
(0 ratings)

Summary: The domain axioms of WaterWorld in first-order logic.

Note: Your browser may not currently support MathML. See our browser support page for additional details. You can always view the correct math in the PDF version.

We summarize the details of how we choose to model WaterWorld boards in first-order logic: exactly what relations we make up, and the formal domain axioms which capture the game's rules.

This will follow almost exactly the same pattern as our WaterWorld model in propositional logic. However, we will take advantage of the additional flexibility provided by first-order logic.

Rather than modeling only the default 6×4 WaterWorld board;, we will be able to model any board representable by our relations. This will allow boards of any size and configuration, with one major constraint — each location can have at most three neighboring pirates.

Domain and Relations

Our domain is simply the set of all board locations. This set can be arbitrarily large — even infinite!

The board configuration is given by the binary “neighbor” relation nhbrnhbr.

The next relations correspond directly to the propositions in the propositional logic model.

  • Whether or not a location contains a pirate: safesafe. This is a unary relation.

    Aside:

    We choose not to include a redundant relation unsafeunsafe.
  • Unary relations indicating the number of neighboring pirates: has0has0, has1has1, has2has2, and has3has3.

    Aside:

    Thus, we have our restriction to three unsafe neighbors. This will also be reflected in our domain axioms below. See also this problem for a discussion of how to avoid this restriction.

In addition, to have encode the domain axioms for an arbitrary domain, we also need an equality relation over our domain of locations. As is traditional, we will use infix notation for this relation, for example, x=yx y. Furthermore, we will allow ourselves to write xy x y as shorthand for ¬x=y x y. Thus, we do not need a distinct inequality relation.

Note that these relations describe the state of the underlying board — the model — and not our particular view of it. Our particular view will be reflected in which formulas we'll accept as premises. So we'll accept has2A has2 A as a premise only when AA has been exposed and shows a 2.

The domain axioms

Many of our axioms correspond directly, albeit much more succinctly, with those of the propositional model. In addition, we have axioms that specify that our neighbor and equality relations are self-consistent.

Axioms asserting that the neighbor relation is anti-reflexive and symmetric:

  • x:¬nhbrxxx nhbr x x
  • x:y:nhbrxynhbryxx y nhbr x y nhbr y x

Axioms asserting that “=” truly is an equality relation, i.e., it is reflexive, symmetric, and transitive.

  • x:x=xx x x
  • x:y:x=yy=xx y x y y x
  • x:y:z:x=yy=zx=zx y z x y y z x z

Axioms asserting that the neighbor counts are correct. Each of these is of the form “if location xx has nn neighboring pirates, then there are nn distinct unsafe neighbors of xx, and any other distinct neighbor xx is safe.” We use the equality relation to specify the distinctness of each neighbor.

  • x:has0xy:nhbrxysafeyx has0 x y nhbr x y safe y
  • x:has1xa:nhbrxa¬safeay:nhbrxyaysafeyx has1 x a nhbr x a safe a y nhbr x y a y safe y
  • x:has2xa:b:nhbrxanhbrxbab¬safea¬safeby:nhbrxyaybysafeyx has2 x a b nhbr x a nhbr x b a b safe a safe b y nhbr x y a y b y safe y
  • x:has3xa:b:c:nhbrxanhbrxbnhbrxcabacbc¬safea¬safeb¬safecy:nhbrxyaybycysafeyx has3 x a b c nhbr x a nhbr x b nhbr x c a b a c b c safe a safe b safe c y nhbr x y a y b y c y safe y

In addition, we want the implications to go the opposite way. Otherwise, each of has0has0, has1has1, has2has2, and has3has3 could always be false, while still satisfying the above! For brevity, we elide the details in the following list:

  • x:y:nhbrxysafeyhas0xx y nhbr x y safe y has0 x
  • x:has1xx has1 x
  • x:has2xx has2 x
  • x:has3xx has3 x

Axioms asserting that the neighbor counts are consistent. While redundant, including axioms like the following can be convenient.

  • x:has0x¬has1xhas2xhas3xx has0 x has1 x has2 x has3 x
  • x:has1x¬has0xhas2xhas3xx has1 x has0 x has2 x has3 x
  • x:has2x¬has0xhas1xhas3xx has2 x has0 x has1 x has3 x
  • x:has3x¬has0xhas1xhas2xx has3 x has0 x has1 x has2 x

Note that this set of axioms is not quite complete, as explored in an exercise.

Content actions

Give Feedback:

E-mail the module authors | Rate module ( How does the rating system work?)

Rating system

Ratings

Ratings allow you to judge the quality of modules. If other users have ranked the module then its average rating is displayed below. Ratings are calculated on a scale from one star (Poor) to five stars (Excellent).

How to rate a module

Hover over the star that corresponds to the rating you wish to assign. Click on the star to add your rating. Your rating should be based on the quality of the content. You must have an account and be logged in to rate content.

(0 ratings)

Download:

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections directly in Connexions. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need a Connexions account to use 'My Favorites'.

| A lens (?)

Definition of a lens

Lenses

A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual Connexions member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks