Skip to content

Latest commit

 

History

History
56 lines (45 loc) · 1.44 KB

Exploration.org

File metadata and controls

56 lines (45 loc) · 1.44 KB

Attribute Exploration

We want to describe the facilities conexp-clj is offering for attribute exploration.

We will use the context explore.cxt as an example:

  |1 2 3 
--+------
a |. x . 
b |x x . 
c |x . x 

To explore the attributes of a context without any other features, call explore-attributes with the corresponding context as its only argument.

java -jar builds/uberjar/fca-clj-0.1.0-SNAPSHOT-standalone.jar -f explore-attributes testing-data/explore.ctx

Exploration now proceeds as follows:

Does the implication (#{3} ==> #{1}) hold? no
counterexample> object
Please enter new object: d
counterexample> attributes
Please enter the attributes the new object should have: 3
counterexample> q
Do you want to give another counterexample? no
Does the implication (#{2 3} ==> #{1}) hold? yes
{:implications #{(#{2 3} ==> #{1})},
 :context
   |1 2 3
 --+------
 a |. x .
 b |x x .
 c |x . x
 d |. . x
}
user=>

The result returned by explore-attributes is a hash-map with the implications found, together with the resulting context.

To check whether two sets of implications are equivalent, run equivalent-implications?.

java -jar builds/uberjar/fca-clj-0.1.0-SNAPSHOT-standalone.jar -f equivalent-implications? impl1.json impl2.json