OpenMath Content Dictionary: logic1

Canonical URL:
http://www.openmath.org/cd/logic1.ocd
CD File:
logic1.ocd
CD as XML Encoded OpenMath:
logic1.omcd
Defines:
and, equivalent, false, implies, not, or, true, xor
Date:
2001-03-12
Version:
2
Review Date:
2003-04-01
Status:
official
Uses CD:
quant1, relation1

This CD holds the basic logic functions.


equivalent

This symbol is used to show that two boolean expressions are logically equivalent, that is have the same boolean value for any inputs.

Commented Mathematical property (CMP):
The condition (A is equivalent to B) is equivalent to the condition that (A implies B and B implies A)
Formal Mathematical property (FMP):
<OMOBJ>
  <OMA>
    <OMS cd="logic1" name="equivalent"/>
    <OMA>
      <OMS cd="logic1" name="equivalent"/>
      <OMV name="A"/>
      <OMV name="B"/>
    </OMA>
    <OMA>
      <OMS cd="logic1" name="and"/>
      <OMA>
        <OMS cd="logic1" name="implies"/>
	<OMV name="A"/>
	<OMV name="B"/>
      </OMA>
      <OMA>
        <OMS cd="logic1" name="implies"/>
	<OMV name="B"/>
	<OMV name="A"/>
      </OMA>
    </OMA>
  </OMA>
</OMOBJ>

equivalent (equivalent ( A, B) , and (implies ( A, B) , implies ( B, A) ) )

Signatures:
sts


[Next: not] [Last: false] [Top]

not

This symbol represents the logical not function which takes one boolean argument, and returns the opposite boolean value.

Commented Mathematical property (CMP):
for all x | not(not(x))=x
Formal Mathematical property (FMP):
<OMOBJ>
<OMBIND>
  <OMS cd="quant1" name="forall"/>
  <OMBVAR>
    <OMV name="x"/>
  </OMBVAR>
  <OMA>
    <OMS cd="relation1" name="eq"/>
    <OMA>
      <OMS cd="logic1" name="not"/>
      <OMA>
        <OMS cd="logic1" name="not"/>
        <OMV name="x"/>
      </OMA>
    </OMA>
    <OMV name="x"/>
  </OMA>
</OMBIND>
</OMOBJ>

forall [ x ] . (eq (not (not ( x) ) , x) )

Signatures:
sts


[Next: and] [Previous: equivalent] [Top]

and

This symbol represents the logical and function which is an n-ary function taking boolean arguments and returning a boolean value. It is true if all arguments are true or false otherwise.

Commented Mathematical property (CMP):
for all x | x and not(x) = false
Formal Mathematical property (FMP):
<OMOBJ>
<OMBIND>
  <OMS cd="quant1" name="forall"/>
  <OMBVAR>
    <OMV name="x"/>
  </OMBVAR>
  <OMA>
    <OMS cd="relation1" name="eq"/>
    <OMA><OMS cd="logic1" name="and"/>
      <OMV name="x"/>
      <OMA><OMS cd="logic1" name="not"/>
        <OMV name="x"/>
      </OMA>
    </OMA>
    <OMS cd="logic1" name="false"/>
  </OMA>
</OMBIND>
</OMOBJ>

forall [ x ] . (eq (and ( x, not ( x) ) , false) )

Signatures:
sts


[Next: xor] [Previous: not] [Top]

xor

This symbol represents the logical xor function which is an n-ary function taking boolean arguments and returning a boolean value. It is true if there are an odd number of true arguments or false otherwise.

Commented Mathematical property (CMP):
for all x | x xor x = false
Formal Mathematical property (FMP):
<OMOBJ>
  <OMBIND><OMS cd="quant1" name="forall"/>
  <OMBVAR>
    <OMV name="x"/>
  </OMBVAR>
  <OMA>
    <OMS cd="relation1" name="eq"/>
    <OMA><OMS cd="logic1" name="xor"/>
      <OMV name="x"/>
      <OMV name="x"/>
    </OMA>
    <OMS cd="logic1" name="false"/>
  </OMA>
</OMBIND>
</OMOBJ>

forall [ x ] . (eq (xor ( x, x) , false) )

Commented Mathematical property (CMP):
for all x | x xor not(x) = true
Formal Mathematical property (FMP):
<OMOBJ><OMBIND><OMS cd="quant1" name="forall"/>
  <OMBVAR>
    <OMV name="x"/>
  </OMBVAR>
  <OMA>
    <OMS cd="relation1" name="eq"/>
    <OMA><OMS cd="logic1" name="xor"/>
      <OMV name="x"/>
      <OMA><OMS cd="logic1" name="not"/>
        <OMV name="x"/>
      </OMA>
    </OMA>
    <OMS cd="logic1" name="true"/>
  </OMA>
</OMBIND>
</OMOBJ>

forall [ x ] . (eq (xor ( x, not ( x) ) , true) )

Signatures:
sts


[Next: or] [Previous: and] [Top]

or

This symbol represents the logical or function which is an n-ary function taking boolean arguments and returning a boolean value. It is true if any of the arguments are true or false otherwise.

Commented Mathematical property (CMP):
for all x | x or not(x) = true
Formal Mathematical property (FMP):
<OMOBJ><OMBIND><OMS cd="quant1" name="forall"/>
  <OMBVAR>
    <OMV name="x"/>
  </OMBVAR>
  <OMA>
    <OMS cd="relation1" name="eq"/>
    <OMA><OMS cd="logic1" name="or"/>
      <OMV name="x"/>
      <OMA><OMS cd="logic1" name="not"/>
        <OMV name="x"/>
      </OMA>
    </OMA>
    <OMS cd="logic1" name="true"/>
  </OMA>
</OMBIND>
</OMOBJ>

forall [ x ] . (eq (or ( x, not ( x) ) , true) )

Commented Mathematical property (CMP):
for all a,b | not(a and b)= (not(a) or not(b))
Formal Mathematical property (FMP):
<OMOBJ>
<OMBIND>
  <OMS cd="quant1" name="forall"/>
  <OMBVAR>
    <OMV name="a"/>
    <OMV name="b"/>
  </OMBVAR>
  <OMA>
    <OMS cd="relation1" name="eq"/>
    <OMA>
      <OMS cd="logic1" name="not"/>
      <OMA>
        <OMS cd="logic1" name="and"/>
        <OMV name="a"/>
        <OMV name="b"/>
      </OMA>
    </OMA>
    <OMA>
      <OMS cd="logic1" name="or"/>
      <OMA>
        <OMS cd="logic1" name="not"/>
        <OMV name="a"/>
      </OMA>
      <OMA>
        <OMS cd="logic1" name="not"/>
        <OMV name="b"/>
      </OMA>
    </OMA>
  </OMA>
</OMBIND>
</OMOBJ>

forall [ a b ] . (eq (not (and ( a, b) ) , or (not ( a) , not ( b) ) ) )

Signatures:
sts


[Next: implies] [Previous: xor] [Top]

implies

This symbol represents the logical implies function which takes two boolean expressions as arguments. It evaluates to false if the first argument is true and the second argument is false, otherwise it evaluates to true.

Commented Mathematical property (CMP):
for all x | false implies x
Formal Mathematical property (FMP):
<OMOBJ>
<OMBIND>
  <OMS cd="quant1" name="forall"/>
  <OMBVAR>
    <OMV name="x"/>
  </OMBVAR>
  <OMA>
    <OMS cd="logic1" name="implies"/>
    <OMS cd="logic1" name="false"/>
    <OMV name="x"/>
  </OMA>
</OMBIND>
</OMOBJ>

forall [ x ] . (implies (false, x) )

Signatures:
sts


[Next: true] [Previous: or] [Top]

true

This symbol represents the boolean value true.

Commented Mathematical property (CMP):
not true = false
Formal Mathematical property (FMP):
<OMOBJ>
    <OMA>
      <OMS cd="relation1" name="eq"/>
      <OMA>
        <OMS cd="logic1" name="not"/>
	<OMS cd="logic1" name="true"/>
      </OMA>
      <OMS cd="logic1" name="false"/>
    </OMA>
  </OMOBJ>

eq (not (true) , false)

Signatures:
sts


[Next: false] [Previous: implies] [Top]

false

This symbol represents the boolean value false.

Commented Mathematical property (CMP):
not false = true
Formal Mathematical property (FMP):
<OMOBJ>
    <OMA>
      <OMS cd="relation1" name="eq"/>
      <OMA>
        <OMS cd="logic1" name="not"/>
	<OMS cd="logic1" name="false"/>
      </OMA>
      <OMS cd="logic1" name="true"/>
    </OMA>
  </OMOBJ>

eq (not (false) , true)

Signatures:
sts


[First: equivalent] [Previous: true] [Top]