Browsing Interface
: Welcome guest :
log in
[
Home
| 
Graph
|  ]
KB:
SUMO
Language:
ChineseLanguage
ChinesePinyinWriting
ChineseSimplifiedWriting
ChineseTraditionalLanguage
EnglishLanguage
FrenchLanguage
GermanLanguage
JapaneseLanguage
SpanishLanguage
SwedishLanguage
Formal Language:
OWL
SUO-KIF
TPTP
traditionalLogic
KB Term:
Term intersection
English Word:
Any
Noun
Verb
Adjective
Adverb
properPart
Sigma KEE - properPart
properPart
appearance as argument number 1
(
documentation
properPart
ChineseLanguage
"(
properPart
?OBJ1 ?OBJ2) 的意思是除了 ?OBJ2 本身 ?OBJ1 是 ?OBJ2 的一部分。 这是一个
TransitiveRelation
和
AsymmetricRelation
(因此也是一个
IrreflexiveRelation
)。")
chinese_format.kif 1573-1575
(
documentation
properPart
EnglishLanguage
"(
properPart
?OBJ1 ?OBJ2) means that ?OBJ1 is a part of ?OBJ2 other than ?OBJ2 itself. This is a
TransitiveRelation
and
AsymmetricRelation
(hence an
IrreflexiveRelation
).")
Merge.kif 905-908
(
instance
properPart
AsymmetricRelation
)
Merge.kif 901-901
proper part
is an
instance
of
asymmetric relation
(
instance
properPart
TransitiveRelation
)
Merge.kif 902-902
proper part
is an
instance
of
transitive relation
(
subrelation
properPart
part
)
Merge.kif 903-903
proper part
is a
subrelation
of
part
appearance as argument number 2
(
format
ChineseLanguage
properPart
"%1 %n 是 %2 的
properPart
")
chinese_format.kif 175-175
(
format
EnglishLanguage
properPart
"%1 is %n a proper
part
of %2")
english_format.kif 176-176
(
subrelation
engineeringSubcomponent
properPart
)
Merge.kif 15801-15801
engineering subcomponent
is a
subrelation
of
proper part
(
subrelation
geographicSubregion
properPart
)
Merge.kif 13791-13791
geographic subregion
is a
subrelation
of
proper part
(
subrelation
physicalEnd
properPart
)
Mid-level-ontology.kif 1212-1212
physical end
is a
subrelation
of
proper part
(
subrelation
streamOutfall
properPart
)
Geography.kif 5582-5582
stream outfall
is a
subrelation
of
proper part
(
termFormat
ChineseLanguage
properPart
"真正的部分")
chinese_format.kif 176-176
(
termFormat
ChineseLanguage
properPart
"适当的部分")
domainEnglishFormat.kif 47781-47781
(
termFormat
ChineseTraditionalLanguage
properPart
"適當的部分")
domainEnglishFormat.kif 47780-47780
(
termFormat
EnglishLanguage
properPart
"proper part")
domainEnglishFormat.kif 47779-47779
antecedent
(=>
(
and
(
fills
?OBJ ?HOLE1)
(
properPart
?HOLE2 ?HOLE1))
(
completelyFills
?OBJ ?HOLE2))
Merge.kif 9968-9972
If
an object
fill
s
a hole
and
another object
is a
proper
part
of
the hole
,
then
the object
completely
fill
s
the other object
(=>
(
and
(
fills
?OBJ1 ?HOLE)
(
properPart
?OBJ2 ?OBJ1))
(
properlyFills
?OBJ2 ?HOLE))
Merge.kif 9974-9978
If
an object
fill
s
a hole
and
another object
is a
proper
part
of
the object
,
then
the other object
properly
fill
s
the hole
(=>
(
and
(
instance
?GUIE1
GUIElement
)
(
hasGUEState
?GUIE1
GUE_ActiveState
)
(
properPart
?GUIE1 ?GUIE2)
(
instance
?GUIE2
GUIElement
))
(
hasGUEState
?GUIE2
GUE_ActiveState
))
ComputerInput.kif 1906-1912
If
a GUIElement
is an
instance
of
GUIElement
and
the GUIElement
has
state
GUE_ActiveState
and
the GUIElement
is a
proper
part
of
another GUIElement
and
the other GUIElement
is an
instance
of
GUIElement
,
then
the other GUIElement
has
state
GUE_ActiveState
(=>
(
and
(
instance
?GUIE_SM
GUIElement
)
(
instance
?GUIE_BIG
GUIElement
)
(
properPart
?GUIE_SM ?GUIE_BIG)
(
hasGUEState
?GUIE_BIG
GUE_CoveredState
))
(
hasGUEState
?GUIE_SM
GUE_CoveredState
))
ComputerInput.kif 2079-2085
If
an entity
_SM is an
instance
of
GUIElement
and
the entity
_BIG is an
instance
of
GUIElement
and
the entity
_SM is a
proper
part
of
the entity
_BIG and
the entity
_BIG has
state
GUE_CoveredState
,
then
the entity
_SM has
state
GUE_CoveredState
(=>
(
and
(
instance
?GUIE_SM
GUIElement
)
(
instance
?GUIE_BIG
GUIElement
)
(
properPart
?GUIE_SM ?GUIE_BIG)
(
hasGUEState
?GUIE_BIG
GUE_NonVisibleState
))
(
hasGUEState
?GUIE_SM
GUE_NonVisibleState
))
ComputerInput.kif 1998-2004
If
an entity
_SM is an
instance
of
GUIElement
and
the entity
_BIG is an
instance
of
GUIElement
and
the entity
_SM is a
proper
part
of
the entity
_BIG and
the entity
_BIG has
state
GUE_NonVisibleState
,
then
the entity
_SM has
state
GUE_NonVisibleState
(=>
(
and
(
instance
?GUIE_SM
GUIElement
)
(
instance
?GUIE_BIG
GUIElement
)
(
properPart
?GUIE_SM ?GUIE_BIG)
(
hasGUEState
?GUIE_BIG
GUE_OffscreenState
))
(
hasGUEState
?GUIE_SM
GUE_OffscreenState
))
ComputerInput.kif 2026-2032
If
an entity
_SM is an
instance
of
GUIElement
and
the entity
_BIG is an
instance
of
GUIElement
and
the entity
_SM is a
proper
part
of
the entity
_BIG and
the entity
_BIG has
state
GUE_OffscreenState
,
then
the entity
_SM has
state
GUE_OffscreenState
(=>
(
and
(
instance
?GUIE_SM
GUIElement
)
(
instance
?GUIE_BIG
GUIElement
)
(
properPart
?GUIE_SM ?GUIE_BIG)
(
hasGUEState
?GUIE_BIG
GUE_PassiveState
))
(
hasGUEState
?GUIE_SM
GUE_PassiveState
))
ComputerInput.kif 1974-1980
If
an entity
_SM is an
instance
of
GUIElement
and
the entity
_BIG is an
instance
of
GUIElement
and
the entity
_SM is a
proper
part
of
the entity
_BIG and
the entity
_BIG has
state
GUE_PassiveState
,
then
the entity
_SM has
state
GUE_PassiveState
(=>
(
and
(
instance
?HOLE1
Hole
)
(
properPart
?HOLE2 ?HOLE1))
(
exists
(?OBJ)
(
and
(
meetsSpatially
?HOLE1 ?OBJ)
(
not
(
meetsSpatially
?HOLE2 ?OBJ)))))
Merge.kif 9846-9854
If
an object
is an
instance
of
hole
and
another object
is a
proper
part
of
the object
,
then there exists
a third object
such that
the object
meet
s
the third object
and
the other object
doesn't
meet
the third object
(=>
(
and
(
instance
?UNCOVER
UncoveringGraphicalWindow
)
(
patient
?UNCOVER ?WINDOW)
(
instance
?WINDOW
InterfaceWindow
)
(
properPart
?CURSOR ?WINDOW)
(
instance
?CURSOR
Cursor
))
(
guiElementUncovered
?UNCOVER ?WINDOW))
ComputerInput.kif 2420-2427
If
an UncoveringGraphicalWindow
is an
instance
of
UncoveringGraphicalWindow
and
a GUIElement
is a
patient
of
the UncoveringGraphicalWindow
and
the GUIElement
is an
instance
of
InterfaceWindow
and
an object
is a
proper
part
of
the GUIElement
and
the object
is an
instance
of
Cursor
,
then
the UncoveringGraphicalWindow
uncovers
the GUIElement
(=>
(
properPart
?OBJ1 ?OBJ2)
(
and
(
part
?OBJ1 ?OBJ2)
(
not
(
part
?OBJ2 ?OBJ1))))
Merge.kif 910-915
If
an object
is a
proper
part
of
another object
,
then
the object
is a
part
of
the other object
and
the other object
is not a
part
of
the object
consequent
(=>
(
and
(
hole
?HOLE ?OBJ1)
(
hole
?HOLE ?OBJ2))
(
exists
(?OBJ3)
(
and
(
properPart
?OBJ3
(
MereologicalProductFn
?OBJ1 ?OBJ2))
(
hole
?HOLE ?OBJ3))))
Merge.kif 9792-9799
If
a hole
is a
hole
in
a self connected object
and
the hole
is a
hole
in
another self connected object
,
then there exists
a third self connected object
such that
the third self connected object
is a
proper
part
of the
intersection
of the parts of
the self connected object
and
the other self connected object
and
the hole
is a
hole
in
the third self connected object
(=>
(
and
(
instance
?GUIE1
GUIElement
)
(
instance
?GUIE2
GUIElement
)
(
not
(
instance
?GUIE1
InterfaceWindow
))
(
not
(
instance
?GUIE2
InterfaceWindow
))
(
screenOfGUIE
?GUIE1 ?SCREEN)
(
screenOfGUIE
?GUIE2 ?SCREEN)
(
hasGUEState
?GUIE1
GUE_ActiveState
)
(
hasGUEState
?GUIE2
GUE_ActiveState
))
(
or
(
properPart
?GUIE1 ?GUIE2)
(
properPart
?GUIE2 ?GUIE1)
(
equal
?GUIE1 ?GUIE2)))
ComputerInput.kif 1932-1945
If
a GUIElement
is an
instance
of
GUIElement
and
another GUIElement
is an
instance
of
GUIElement
and
the GUIElement
is not an
instance
of
InterfaceWindow
and
the other GUIElement
is not an
instance
of
InterfaceWindow
and
the GUIElement
is
displayed
on
a ComputerScreen
and
the other GUIElement
is
displayed
on
the ComputerScreen
and
the GUIElement
has
state
GUE_ActiveState
and
the other GUIElement
has
state
GUE_ActiveState
,
then
the GUIElement
is a
proper
part
of
the other GUIElement
or
the other GUIElement
is a
proper
part
of
the GUIElement
or
the GUIElement
is
equal
to
the other GUIElement
(=>
(
and
(
instance
?SHARE
Sharing
)
(
agent
?SHARE ?AGENT1)
(
destination
?SHARE ?AGENT2)
(
patient
?SHARE ?OBJ))
(
exists
(?GIVE ?PART)
(
and
(
instance
?GIVE
Giving
)
(
subProcess
?GIVE ?SHARE)
(
patient
?GIVE ?PART)
(
properPart
?PART ?OBJ)
(
agent
?GIVE ?AGENT1)
(
destination
?GIVE ?AGENT2))))
Mid-level-ontology.kif 17915-17928
If
a process
is an
instance
of
sharing
and
an agent
is an
agent
of
the process
and
the process
end
s up at
an entity
and
another entity
is a
patient
of
the process
,
then there exist
another process
and
an object
such that
the other process
is an
instance
of
giving
and
the other process
is a
subprocess
of
the process
and
the object
is a
patient
of
the other process
and
the object
is a
proper
part
of
the other entity
and
the agent
is an
agent
of
the other process
and
the other process
end
s up at
the entity
(=>
(
and
(
instance
?WINDOW
InterfaceWindow
)
(
instance
?GUIE
GUIElement
)
(
screenOfGUIE
?WINDOW ?SCREEN)
(
screenOfGUIE
?GUIE ?SCREEN)
(
not
(
instance
?GUIE
InterfaceWindow
))
(
hasGUEState
?WINDOW
GUE_ActiveState
)
(
hasGUEState
?GUIE
GUE_ActiveState
))
(
properPart
?GUIE ?WINDOW))
ComputerInput.kif 1917-1926
If
a GUIElement
is an
instance
of
InterfaceWindow
and
another GUIElement
is an
instance
of
GUIElement
and
the GUIElement
is
displayed
on
a ComputerScreen
and
the other GUIElement
is
displayed
on
the ComputerScreen
and
the other GUIElement
is not an
instance
of
InterfaceWindow
and
the GUIElement
has
state
GUE_ActiveState
and
the other GUIElement
has
state
GUE_ActiveState
,
then
the other GUIElement
is a
proper
part
of
the GUIElement
(=>
(
and
(
part
?OBJ1 ?OBJ2)
(
not
(
part
?OBJ2 ?OBJ1)))
(
properPart
?OBJ1 ?OBJ2))
Merge.kif 917-922
If
an object
is a
part
of
another object
and
the other object
is not a
part
of
the object
,
then
the object
is a
proper
part
of
the other object
(=>
(
elevation
?OBJECT ?HEIGHT)
(
exists
(?DATUM)
(
and
(
properPart
?DATUM
SeaLevel
)
(
orientation
?OBJECT ?DATUM
Vertical
)
(
distance
?OBJECT ?DATUM ?HEIGHT))))
Geography.kif 1917-1923
If
a length measure
is an
elevation
of
an object
,
then there exists
another object
such that
the other object
is a
proper
part
of
sea level
and
the object
is
vertical
to
the other object
and the
distance
between
the object
and
the other object
is
the length measure
(=>
(
equal
?OBJ3
(
MereologicalDifferenceFn
?OBJ1 ?OBJ2))
(
forall
(?PART)
(<=>
(
properPart
?PART ?OBJ3)
(
and
(
properPart
?PART ?OBJ1)
(
not
(
properPart
?PART ?OBJ2))))))
Merge.kif 9739-9748
If
an object
is
equal
to the
difference
between the parts of
another object
and
a third object
,
then for all
a fourth object
the fourth object
is a
proper
part
of
the object
if and only if
the fourth object
is a
proper
part
of
the other object
and
the fourth object
is not a
proper
part
of
the third object
(=>
(
instance
?CARTRIDGE
BulletCartridge
)
(
hasPurpose
?CARTRIDGE
(
exists
(?BULLET ?CASE)
(
and
(
instance
?BULLET
Bullet
)
(
instance
?CASE
CartridgeCase
)
(
properPart
?BULLET ?CARTRIDGE)
(
properPart
?CASE ?CARTRIDGE)))))
Mid-level-ontology.kif 1156-1164
If
a physical
is an
instance
of
bullet cartridge
,
then
the physical
has the purpose there exist
an entity
and
another entity
such that
the entity
is an
instance
of
bullet
and
the other entity
is an
instance
of
casing
and
the entity
is a
proper
part
of
the physical
and
the other entity
is a
proper
part
of
the physical
(=>
(
instance
?CASE
CartridgeCase
)
(
exists
(?CARTRIDGE ?BULLET ?K)
(
and
(
instance
?CARTRIDGE
BulletCartridge
)
(
instance
?BULLET
Bullet
)
(
instance
?K
Keeping
)
(
properPart
?CASE ?CARTRIDGE)
(
properPart
?BULLET ?CARTRIDGE)
(
agent
?K ?CASE)
(
patient
?K ?BULLET))))
Mid-level-ontology.kif 1169-1179
If
an agent
is an
instance
of
casing
,
then there exist
an entity
,
an object
and
a process
such that
the entity
is an
instance
of
bullet cartridge
and
the object
is an
instance
of
bullet
and
the process
is an
instance
of
keeping
and
the agent
is a
proper
part
of
the entity
and
the object
is a
proper
part
of
the entity
and
the agent
is an
agent
of
the process
and
the object
is a
patient
of
the process
(=>
(
instance
?COMPARTMENT
ShipCabin
)
(
exists
(?SHIP)
(
and
(
instance
?COMPARTMENT
ShipCabin
)
(
properPart
?COMPARTMENT ?SHIP))))
Transportation.kif 2570-2575
If
an object
is an
instance
of
ship cabin
,
then there exists
an entity
such that
the object
is an
instance
of
ship cabin
and
the object
is a
proper
part
of
the entity
(=>
(
instance
?GULF
Gulf
)
(
exists
(?WATER)
(
and
(
instance
?WATER
SaltWaterArea
)
(
properPart
?GULF ?WATER))))
Geography.kif 5036-5041
If
an object
is an
instance
of
gulf
,
then there exists
an entity
such that
the entity
is an
instance
of
salt water area
and
the object
is a
proper
part
of
the entity
(=>
(
instance
?H
Hanging
)
(
exists
(?S ?N ?P)
(
and
(
instance
?P
Human
)
(
instance
?S
String
)
(
instance
?N
Neck
)
(
experiencer
?H ?P)
(
properPart
?N ?P)
(
instrument
?H ?S)
(
holdsDuring
(
WhenFn
?H)
(
meetsSpatially
?S ?N)))))
Mid-level-ontology.kif 17828-17839
If
a process
is an
instance
of
hanging
,
then there exist
an object
,
another object
and
an agent
such that
the agent
is an
instance
of
human
and
the object
is an
instance
of
string
and
the other object
is an
instance
of
neck
and
the agent
experience
s
the process
and
the other object
is a
proper
part
of
the agent
and
the object
is an
instrument
for
the process
and
the object
meet
s
the other object
holds
during
the
time
of existence of
the process
(=>
(
instance
?HOLE1
Hole
)
(
exists
(?HOLE2)
(
properPart
?HOLE2 ?HOLE1)))
Merge.kif 9825-9828
If
an entity
is an
instance
of
hole
,
then there exists
an object
such that
the object
is a
proper
part
of
the entity
(=>
(
instance
?HOTEL
HotelBuilding
)
(
exists
(?ROOM)
(
and
(
instance
?ROOM
HotelRoom
)
(
properPart
?ROOM ?HOTEL))))
Hotel.kif 77-82
If
an entity
is an
instance
of
hotel
,
then there exists
an object
such that
the object
is an
instance
of
hotel room
and
the object
is a
proper
part
of
the entity
(=>
(
instance
?OBJ1
CellEnvelope
)
(
exists
(?OBJ2)
(
and
(
properPart
?OBJ2 ?OBJ1)
(
instance
?OBJ2
Lipoprotein
))))
VirusProteinAndCellPart.kif 577-582
If
an entity
is an
instance
of
cell envelope
,
then there exists
an object
such that
the object
is a
proper
part
of
the entity
and
the object
is an
instance
of
lipoprotein
(=>
(
instance
?OBJ1
CellPart
)
(
exists
(?CELL)
(
and
(
instance
?CELL
Cell
)
(
properPart
?OBJ1 ?CELL))))
Mid-level-ontology.kif 10383-10388
If
an object
is an
instance
of
cell part
,
then there exists
an entity
such that
the entity
is an
instance
of
cell
and
the object
is a
proper
part
of
the entity
(=>
(
instance
?OBJ1
EnvelopedVirus
)
(
exists
(?OBJ2)
(
and
(
properPart
?OBJ2 ?OBJ1)
(
instance
?OBJ2
ViralCore
)
(
not
(
exists
(?OBJ3)
(
and
(
instance
?OBJ3
ViralCore
)
(
properPart
?OBJ3 ?OBJ1)
(
not
(
equal
?OBJ3 ?OBJ2))))))))
VirusProteinAndCellPart.kif 672-683
If
an entity
is an
instance
of
enveloped virus
,
then there exists
an object
such that
the object
is a
proper
part
of
the entity
and
the object
is an
instance
of
viral core
and there doesn't exist
another object
such that
the other object
is an
instance
of
viral core
and
the other object
is a
proper
part
of
the entity
and
the other object
is not
equal
to
the object
(=>
(
instance
?OBJ1
LipidBilayer
)
(
exists
(?OBJ2)
(
and
(
properPart
?OBJ2 ?OBJ1)
(
instance
?OBJ2
LipidMembraneMolecule
))))
VirusProteinAndCellPart.kif 520-525
If
an entity
is an
instance
of
lipid bilayer
,
then there exists
an object
such that
the object
is a
proper
part
of
the entity
and
the object
is an
instance
of
lipid membrane molecule
(=>
(
instance
?OBJ1
PlasmaMembrane
)
(
exists
(?OBJ2)
(
and
(
properPart
?OBJ2 ?OBJ1)
(
instance
?OBJ2
LipidBilayer
)
(
not
(
exists
(?OBJ3)
(
and
(
instance
?OBJ3
LipidBilayer
)
(
properPart
?OBJ3 ?OBJ1)
(
not
(
equal
?OBJ3 ?OBJ2))))))))
VirusProteinAndCellPart.kif 507-518
If
an entity
is an
instance
of
plasma membrane
,
then there exists
an object
such that
the object
is a
proper
part
of
the entity
and
the object
is an
instance
of
lipid bilayer
and there doesn't exist
another object
such that
the other object
is an
instance
of
lipid bilayer
and
the other object
is a
proper
part
of
the entity
and
the other object
is not
equal
to
the object
(=>
(
instance
?OBJ1
PlasmaMembrane
)
(
exists
(?OBJ2)
(
and
(
properPart
?OBJ2 ?OBJ1)
(
instance
?OBJ2
Protein
))))
VirusProteinAndCellPart.kif 305-310
If
an entity
is an
instance
of
plasma membrane
,
then there exists
an object
such that
the object
is a
proper
part
of
the entity
and
the object
is an
instance
of
protein
(=>
(
instance
?OBJ1
Virus
)
(
exists
(?OBJ2)
(
and
(
properPart
?OBJ2 ?OBJ1)
(
instance
?OBJ2
VirusPart
))))
VirusProteinAndCellPart.kif 632-637
If
an entity
is an
instance
of
virus
,
then there exists
an object
such that
the object
is a
proper
part
of
the entity
and
the object
is an
instance
of
virus part
(=>
(
instance
?OBJ1
VirusCoreEnvelope
)
(
exists
(?OBJ2)
(
and
(
properPart
?OBJ2 ?OBJ1)
(
instance
?OBJ2
Palisade
))))
VirusProteinAndCellPart.kif 613-618
If
an entity
is an
instance
of
virus core envelope
,
then there exists
an object
such that
the object
is a
proper
part
of
the entity
and
the object
is an
instance
of
palisade
(=>
(
instance
?OBJ1
VirusPart
)
(
exists
(?OBJ2)
(
and
(
properPart
?OBJ1 ?OBJ2)
(
instance
?OBJ2
Virus
))))
VirusProteinAndCellPart.kif 625-630
If
an object
is an
instance
of
virus part
,
then there exists
an entity
such that
the object
is a
proper
part
of
the entity
and
the entity
is an
instance
of
virus
(=>
(
instance
?OCEAN
Ocean
)
(
properPart
?OCEAN
WorldOcean
))
Geography.kif 4429-4431
If
an object
is an
instance
of
ocean
,
then
the object
is a
proper
part
of
world ocean
(=>
(
instance
?PE
ProtectiveEyewear
)
(
hasPurpose
?PE
(=>
(
and
(
instance
?PERSON
Human
)
(
wears
?PERSON ?PE))
(
exists
(?PROTECT ?EYE ?INJ)
(
and
(
instance
?PROTECT
Process
)
(
instrument
?PROTECT ?PE)
(
subclass
?INJ
(
KappaFn
?I
(
exists
(?HUMAN)
(
and
(
instance
?I
Injuring
)
(
instance
?EYE
Eye
)
(
instance
?HUMAN
Human
)
(
properPart
?EYE ?HUMAN)
(
patient
?I ?EYE)
(=>
(
holdsDuring
?T
(
patient
?I ?PERSON))
(
not
(
holdsDuring
?T
(
patient
?PROTECT ?PERSON))))))))
(
prevents
?PROTECT ?INJ))))))
Cars.kif 3485-3511
If
a physical
is an
instance
of
protective eyewear
,
then
the physical
has the purpose
if
the physical
RSON is an
instance
of
human
and
the physical
RSON
wear
s
the physical
,
then there exist
another entity
,
a third entity
and
a fourth entity
such that
the other entity
is an
instance
of
process
and
the physical
is an
instrument
for
the other entity
and
the fourth entity
is a
subclass
of the
class
described by
a fifth entity
and
the other entity
prevent
s the occurrence of
the fourth entity
Display limited to 25 items.
Show next 25
Display limited to 25 items.
Show next 25
appearance as argument number 0
(
properPart
(
CellPartFn
?CELL ?PARTTYPE) ?CELL)
VirusProteinAndCellPart.kif 661-661
The
cell
part of
an entity
and
a kind of cell part
is a
proper
part
of
the entity
Show simplified definition (without tree view)
Show simplified definition (with tree view)
Show without tree
Sigma web home
Suggested Upper Merged Ontology (SUMO) web home
Sigma version 3.0 is
open source software
produced by
Articulate Software
and its partners