NextPrevTopContents

Index

Symbols

* 4

+ 4

/== 146

::= 4

<..> 4

= 146

=.. 146

== 146

@< 146

@=< 146

@> 146

@>= 146

[..] 4

| 4

A

action 3 , 23 , 32

add-explanation 69

Advanced Topics

main chapter 65

agenda 27

all-debug 30 , 83

any 32 , 84

any Prolog interface function 136

append 146

arg 129 , 146

arity 31 , 48

assert 25 , 79 , 84

asserta 146

assertion 25

assertz 146

atomic 146

B

backward chaining 2 , 9 , 23 , 30 , 77

debugging 33

definition of rules 32

implementation notes 170

interpreter 32

syntax 31

bagof 146

browsers 8

class 13 , 52

object 10 , 18 , 55

rule 8 , 16 , 57

system 50

C

C 1

call 146

certainty factor 70

certainty factors 70 , 73

*c-factor* 70

chaining 2

class browser 52

classes 13

named 36

relational database 37

unnamed 36

clause 146

clear 50

clear-all 50 , 81 , 85

clear-rules 50 , 86

CLOS 2 , 3 , 5 , 7 , 10 , 20 , 23 , 30 , 50 , 74

class categories in KnowledgeWorks 35

classes in KnowledgeWorks 35

objects in 4 , 35

CLOS mixin class 4

CLOS/SQL class 37

Common Lisp Interface 33

Common Lisp Object System (CLOS) 2 , 5

Common Prolog main chapter 127

condition 23

syntax 24

conflict resolution 15 , 24 , 28 , 72

-lex 29 , 76

lex 29

-mea 29 , 76

mea 28

optimizing 76

-order 28

order 28

-priority 28

priority 28

-recency 28 , 76

recency 28

-specificity 28

specificity 28

tactics 28 , 76

use of contexts 76

user definable 72

user-definable 72

conflict resolution strategy 72

conflict resolution tactic 28 , 72

conflict-set 86

context 27 , 65

context 25 , 87

context definition 30

contexts 8 , 27

control

flow of 27 , 65

creep 18 , 59

current-cycle 88

cut 78

cut 88

*cycle* 89

cycle

of forward chaining 24

D

debug 146

debugger

in Prolog 139

debugging 2 , 16 , 30 , 58

backward chaining 33

forward chaining 30

debugging 146

default-context 27 , 50 , 86

defclass 89 , 91

defclass macro in LispWorks 36

defcontext 27 , 28 , 29 , 66 , 91

defdetpred 149

defdetrel 146

defdetunipred 150

defexplain 69

defgrammar 146

Defining Contexts 30

def-kb-class 36 , 70 , 78 , 80 , 89

def-kb-struct 74 , 75 , 90

defmethod 78

def-named-kb-class 36 , 90

defrel 128 , 146

defrelmacro 144 , 146

defrel-special-form-macro 147

defrule 23 , 26 , 31 , 65 , 66 , 71 , 77 , 79 , 80 , 81 , 93

defstruct 74 , 90

deftactic 72 , 94

def-view-class in LispWorks 38

destroy-inferencing-state 81 , 95

deterministic 147

documentation strings 23 , 28 , 72 , 92 , 93 , 95

dynamic conflict resolution 76

E

Edinburgh Prolog 33

Edinburgh Syntax 144

compatible predicates 150

editor 49

editor window 8

environment

graphic environment in Prolog 145

erase 25 , 96 , 147

explanations 68

expression

syntax 25

F

fail 96 , 147

field

pattern 11 , 56

query 56

findall 32 , 98 , 136 , 147

findallset 136 , 147

find-inferencing-state 81 , 97

fire-rule 66 , 99

forward chaining 2 , 7 , 23 , 74 , 75

cycle 24 , 65 , 66

debugging 30

history 14 , 62

implementation notes 169

interpreter 27

rule definition 26

syntax 24

functor 129 , 147

G

get-object 36 , 99

goals 3

graphical tools 2

H

halt 147

history 14

forward chaining 14 , 62

I

Implementation Notes

appendix 169

implication strength 70

*implic-strength* 70 , 71

infer 7 , 18 , 27 , 81 , 100

inference engine 3

inferencing states

creating and maintaining 81

current 81 , 101

definition of 80

uses 81

*inferencing-state* 81 , 101

inferencing-state-name 101

*in-interpreter* 100

inspector

instances 53

instantiation 66 , 67 , 104

instantiations 67

inst-bindings 67 , 102

inst-rulename 67 , 103

inst-token 67 , 103

integer 147

interface functions in Prolog 136

interpreter

backward chaining 32

forward chaining 27

Introduction

main chapter 1

is 147

K

keysort 147

keyword

:backward 23

:forward 23

:meta 66

:name 36

:priority 15

Knowledge Based Systems (KBS) 1 , 4

KnowledgeWorks 1 , 7

backward chaining engine 30

clearing 50

CLOS objects 30 , 35

Converting Other Systems Into, 177

Gc-monitor 6

generic functions 55

historical perspective 1

inspector 53

instances 53

Lisp Monitor 6

listener 48

mixin class 37

object base 30

objects 31

podium 6

rule development 47

rule monitor 58 , 60

rules in 23

running the tutorial 7

spy window 58

structures 46 , 74

technical overview 2

tools 18

Use of Meta-Classes 78

kw-class 106

L

leap 18 , 59

leash 147

leashing 139

-lex 29 , 76 , 107

lex 29 , 107

Lisp 1 , 5 , 24 , 33 , 35

integration of 20

LispWorks 1 , 5 , 21 , 30

accessing Lisp from Prolog 132

availability in KnowledgeWorks 47

Common Prolog Logic Listener 48

SQL interface 37

Lispworks

calling Prolog 134

list-all-inferencing-state 81 , 105

listener 7 , 48

listing 147

loading files 7

logic 134

logic interpreter 130

logic listener 145

logical 25 , 79

M

macro

in Prolog 144

make-inferencing-state 81 , 108

make-instance 36 , 74 , 79 , 109

-mea 29 , 76 , 110

mea 28 , 111

member 147

menu button

creep 18 , 59

leap 18 , 59

menu item

browse 13

class browser 13

Classes 13

clear 50

context 57

FC History 14

Inspect 56

Instantiations 56

KnowledgeWorks 6 , 8 , 10 , 13 , 14 , 56 , 57

Listener 6

Objects 10 , 56

Rules 8 , 57

:meta keyword 66

Meta Object Protocol (MOP) 4

Meta Rule Protocol (MRP) 4 , 65

meta-interpreter 65

metaprotocols 2

meta-rule 65

mixin 4 , 36

monitor window 16 , 60

MYCIN 70

N

name 36 , 105

named classes 36

named-kb-object 36 , 91 , 111

node 9

no-debug 30 , 112

nodebug 147

nonvar 147

nospy 147

not 25 , 112 , 147

notrace 148

O

object 31

browser 18 , 55

certainty factor 70

named 35

object base 17 , 46

and inferencing states 80

clearing 50

main chapter 35

uncertainty 70

object browser 10

object system 2

once 148

OPS5 75 , 177

optimization 74

optimization of KnowledgeWorks 46

-order 28 , 113

order 28 , 114

output-defrels 148

P

pattern 11 , 56

matching 77

popup 7

Preferences... command 11 , 56 , 58

*print-verbose* 115

-priority 28 , 115

priority 28 , 116

procedural language 2

programming environment

main chapter 47

Prolog 30 , 33 , 180

accessing Lisp 132

adding built in predicates 149

built in predicates 146

calling from LispWorks 134

cut 78

debugging 139

Edinburgh Syntax 144

exiting the interpreter 132

graphic environment 145

interface functions 136

leashing 139

logic interpreter 130

logic listener 145

macros 144

main chapter 127

overview 127

predicates compatible with Edinburgh syntax 150

retrieving multiple solutions in 130

specifying multiple goals in 131

spy points 139

syntax 128

tracing 139

Q

query 56

R

read-query-print loop 130

read-term 148

-recency 28 , 76 , 116

recency 28 , 117

recorda 148

recorded 148

recordz 148

relational database classes 37

repeat 148

reset 50 , 81 , 118

retract 148

return 25 , 28 , 119

rule 23

action 23

backward chaining 32

browser 16

condition 23

definition of forward chaining 26

editing definitions 19

groups 14

implication strength 70

single-stepping 17

rule browser 57

rule monitor 58 , 60

rule preconditions 75

rulebase 37

rule-defined conflict resolution 76

Rules

main chapter 23

S

setof 148

*signal-kb-name-clash* 119

sort 148

-specificity 28 , 120

specificity 28 , 120

spy 148

spy points 139

spy window 17 , 58

standard- kb-object 38 , 78

standard-class 78

standard-context 121

standard-db-object 38

standard-kb- object 78

standard-kb-class 78

standard-kb-object 52 , 89 , 122

start-cycle 66 , 122

start-kw 123

static conflict resolution 76

structures 46 , 50 , 74

subclasses 13

syntax

backward chaining 31

expression 25

forward-condition 24

of forward chaining 24

syntax of Prolog 128

system browser 50

systems 21

T

tactic 28 , 72 , 94

Tail Recursion 77

test 124

Tools menu

Preferences... 11 , 56 , 58

trace

in Prolog 139

trace 148

translate-vars 148

true 149

truth maintenance 25 , 79

Tutorial

main chapter 5

U

undefcontext 30 , 124

undefrule 26 , 124

unleash 149

unnamed classes 36

V

var 149

W

window

browser 8

editor 8 , 49

listener 6 , 7 , 48

monitor 16 , 60

podium 6

popup 7

spy 17 , 58

subclasses 13

with-prolog 138

with-rule-actions 125


KnowledgeWorks and Prolog User Guide (Unix version) - 11 Jul 2006

NextPrevTopContents