prop
prop
nyaya.prop
Atom
Biconditional
Conjunction
CycleDetector
CycleDetector
Directed
GraphType
Undirected
CycleFree
Disjunction
Eval
EqualB
Eval
EvalOver
Implication
Input
Logic
Logic
LogicPropExt
Mapped
Named
Negation
Prop
AllPresentB
BlacklistB
EqualB
WhitelistB
PropA
PropA
Prop_AnyExt
Reduction
prop
/
nyaya.prop
nyaya.prop
package
nyaya.prop
Type members
Implicits
Type members
Classlikes
final case
class
Atom
[
P
[
_
],
A
](
n:
Option
[
Name
],
f:
P
[
A
])
extends
Logic
[
P
,
A
]
final case
class
Biconditional
[
P
[
_
],
A
](
p:
Logic
[
P
,
A
],
q:
Logic
[
P
,
A
])
extends
Logic
[
P
,
A
]
final case
class
Conjunction
[
P
[
_
],
A
](
ls:
NonEmptyList
[
Logic
[
P
,
A
]])
extends
Logic
[
P
,
A
]
case
class
CycleDetector
[
A
,
B
](
extract:
A
=>
Iterator
[
B
],
check: (
A
,
Iterator
[
B
])
=>
Option
[(
B
,
B
)])
Companion:
object
object
CycleDetector
Companion:
class
final case
class
CycleFree
[
A
](
value:
A
)
final case
class
Disjunction
[
P
[
_
],
A
](
ls:
NonEmptyList
[
Logic
[
P
,
A
]])
extends
Logic
[
P
,
A
]
object
Eval
Companion:
class
final case
class
Eval
Companion:
object
final case
class
EvalOver
(
input:
Any
)
final case
class
Implication
[
P
[
_
],
A
](
a:
Logic
[
P
,
A
],
c:
Logic
[
P
,
A
])
extends
Logic
[
P
,
A
]
case
class
Input
(
a:
Any
)
object
Logic
Companion:
class
sealed abstract
class
Logic
[
P
[
_
],
A
]
Companion:
object
final implicit
class
LogicPropExt
[
A
](
prop:
Prop
[
A
])
extends
AnyVal
final case
class
Mapped
[
P
[
_
],
A
,
B
](
m:
A
=>
B
,
l:
Logic
[
P
,
B
])
extends
Logic
[
P
,
A
]
final case
class
Named
[
P
[
_
],
A
](
n:
Name
,
l:
Logic
[
P
,
A
])
extends
Logic
[
P
,
A
]
final case
class
Negation
[
P
[
_
],
A
](
l:
Logic
[
P
,
A
])
extends
Logic
[
P
,
A
]
object
Prop
final
class
PropA
[
A
]
Companion:
object
object
PropA
Companion:
class
final implicit
class
Prop_AnyExt
[
A
](
a:
A
)
extends
AnyVal
final case
class
Reduction
[
P
[
_
],
A
](
c:
Logic
[
P
,
A
],
a:
Logic
[
P
,
A
])
extends
Logic
[
P
,
A
]
Types
type
EvalL
=
Logic
[
Eval_
,
Nothing
]
type
Eval_
[
x
] =
Eval
type
FailureReason
=
String
type
FailureReasonO
=
Option
[
FailureReason
]
type
Name
=
Eval
[
String
]
type
Prop
[
A
] =
Logic
[
PropA
,
A
]
Implicits
Implicits
final implicit
def
LogicPropExt
[
A
](
prop:
Prop
[
A
]):
LogicPropExt
[
A
]
final implicit
def
Prop_AnyExt
[
A
](
a:
A
):
Prop_AnyExt
[
A
]