Help:Property constraints portal/Contemporary

From testwiki
Jump to navigation Jump to search

Help:Property constraints portal/Header constraint type

Two entities linked through a property with Template:Q must be contemporary, that is, must coexist at some point in history. Properties with this constraint are called contemporary properties.

There are two main categories of contemporary properties:

  1. Those requiring use, synchronous communication or direct physical interaction. For instance, Template:P, Template:P, Template:P, Template:P, etc.
  2. Those describing the relative location. For instance, Template:P, Template:P, Template:P, Template:P, etc.

If, for practical reasons, this constraint is used in other properties, then it should never be defined as mandatory and a list of exceptions should be managed.

The specification and analysis of the contemporary constraint is available in Template:Q.

When are two entities contemporary?

Formally, two entities e1 and e2 are contemporary if, and only if, their life intervals intersect, e1e2.

The life interval e of an entity e is the closed interval bounded by its start time and its end time, e=[emin,emax].

The start time emin is the minimum acceptable value of all statements on e using start properties Template:P, Template:P, Template:P or Template:P. Values with deprecated rank are ignored. If there are no valid statements using these properties, then emin=.

The end time emax is the maximum acceptable value of all statements on e using end properties Template:P, Template:P, Template:P or Template:P. Values with deprecated rank are ignored. If there are no valid statements using these properties, then emax=+.

In Template:Q and most programming languages, two entities e1 and e2 are contemporary if, and only if, e1mine2maxe2mine1max.

Violation

When two entities e1 and e2 are not contemporary, e1e2=, but are linked through a contemporary property, then there is a violation of the Template:Q.

Possible actions

There are several possible ways to address a violation of this constraint:

  • Most likely, change or remove the statement that links e1 and e2 through the contemporary property.
  • Fix the time value min{e1max,e2max}. This value should be later.
  • Fix the time value max{e1min,e2min}. This value should be earlier.

Parameters

This constraint has no mandatory parameter.