Introduction
In theory and mathematical research any set of assumptions can be
considered, as long as they are interesting or lead to new consequence.
In the design of complex systems however some reason should be supplied for
assumptions. So some explanation should be given when a set of assertions
are made about real situations. For example some of the following might be
used:
- Experiments designed to falsify this assumption have failed to give
reason to doubt it (for instance see....)
- I have observed that .... , on ... at..., when.....
- The documentation/data/code found in ...in the current system
assumes...
- On ...date, Mr/Ms J Doe stated that...
- A sample of N items were taken at random and...
Further the value of a statement is not just its true/false value as a
proposition, or as a predicate. A false idea can be useful, exciting,
interesting, a pointer to the truth, ...
Within a particular project these can be further qualified by specifying
the requirement involved:
- The user needs help with....
- The system has to be very ....
- It is usfulk to keep track of what happens to....
- The current system holds this data:.......
- We are expected use ..... to make the new system.
Evidence
A body of evidence is a structured network of statements and reasons for
the statements. The relationship between the evidence for a document and
the document is subtle and not like normal logic.
The statements in a body of evidence fit into a framework: AEIOU.
AEIOU Framework
- (A): Absolute and Axiomatic.
- Mathematics, logic, ...
- All based explicitly stated assumptions (Axioms...) and reasoning
- By definition.
- (E): Emotional, Ego, Experienced
- Statements about personal experiences - that are internal
- Feelings, hunches, dreams, revelations, beliefs, desires, ...
- (I): Improvable Truths
- Temporary plausible statements that may be modified later.
- Statements that explain (using A) all relevant O's and I's
- I truths often oppose E and U truths.
- (O): Observed
- Simple propositions, simple quantifications, statistics,....
- Must indicate circumstances when observations were made
- Experimental results.
- Only finite quantification is valid:
- O: for all my experiments E, results R.
- I: for all E, R.
- (U): Unique Truth
- "I can't think of any other explanation" plus dogma.
- cUrrent doctrine and world views that are accepted by many.
- aUthority and credentials.
Examples from Astronmy
- A(Euclid) ellipses==>conic_sections.
- A(Euclid) circles==>ellipses.
- A(Descartes) `ellipses={{(x,y): Plane || x^2/a^2 + y^2/b^2 = 1} ||
a,b:Real}`.
- E(Druid)"moon is immortal, mysterious, ....".
- I(Aristotle)" The moon circles the earth"
- I(Ptolemy)"The moon circles the earth with a small circular pertubation."
- O(Newton)"Everytime I drop an apple it falls to the ground."
- O(Apple_farmer)"Dropped apples bruise".
- O(Apple_farmer)"bruised apples don't get a good price".
- O(Tycho)"On the following nights and times the moon was at these
positions in the sky".
- U(Western Europe, 500.AD..1600.AD)"The world is the center of a
hierarchical universe..."
- U(Apple_farmer)"Don't drop apples".
- I(Kepler)"The moon follows an elliptical orbit with the earth at one
focus,......."
- I(Newton)"The moon follows the laws of Motion and Gravity, and has a mass
of...."
Example from Hamlet
- E(Hamlet, time=>1)"I will kill the spy behind the curtain"
- E(Hamlet, time=>1)"I will not kill Polonius"
- O(Hamlet, time=>2)Polonius=the spy behind the curtain.
- E(Hamlet, time=>3)"Oops"
Syntax
Only A and I truths can be safely expressed with out quotation marks.
perhaps -
- body_of_evidence::="Evidence{" #(label(truth | derived) | comment) "}".
- label::=identifier":".
- truth::=("A" | "I")"(" context ")"expression(@) |("E"|"I"|"O"|"U") "("
context ")" char_string.
- derived::=(basis|)"|-"expression(@) (proof|).
This is similar to ISO Standard Z.
- basis::=L(identifier).
Perhaps extend the label in the syntax of documentation:
- documentation.syntax.label::=...|("A"|"I"|"E"|"O"|"U")basis.
Example of college 1
- Example1::=
Net{
Students, Classes::Finite_Sets. Enrollments:: @(S,C).
O(Interveiw with Dean Whozis, 11 Nov 99) |- Enrollments in
S(0..10)-(1..40)C.
}=::
Example.
Properties
A and I truths have to be "logical" in the sense that if the standard rules
lead to contradictions then they must be denied.
Only A_truths are guaranteed. Only mature I_truths can be expected to be
correct.
Two equivalent statements must have the same degree of belief.
Typical life history of a document would be
- documents_life_history::= (unsupported | observed) #(supporting_evidence |
used_in_derivation | used_as_support | quoted) (refutation |
entry_into_doctrine).
Abduction vs Deduction
Suppose a document S implies a document R then
- if R is refuted then so is S
- if S is supported then so is R
However
- added support for R weakens S
- evidence against S may or may not effect R.
Suppose a document S is used to derive a result R then
- if R is refuted then no more than one part of S has to be refuted
- if any S is supported then so is R
However
- added support for R weakens all the statements in S
- evidence against some of the S's may or may not effect R.
Half Baked Ideas
There is a tradition that an idea takes time to mature. In other words the
more that is known about how an idea fits with other ideas the mo better
it is understood.
Perhaps documents should be rated on a scale of "Bakedness" varying upwards
from 0 when originally thought of and increasing by some ammount when ever
it is used to support another idea, increasing with each positive review,
increasing when support is found else where, and so on.
Perhaps when documentation is modified then the new version inherits only a
fraction of the "Bakedness" of the original depending on the extent of the
change.
A MATHS system should automatically track the cooking of ideas - via a
reference count.
Notice that ideas never go away! In reality, a refuted system is placed in
a more restricted context...Ptolemy, Newton,...
PQRST Requirements framework
Net
Developing Documents
Theory
In the design process a set of ideas may be changed to improve the design.
In any thinking, ideas develop and so change. This can be in the following
ways:
- Specialization
- Adding an assumption
- Generating an equivalent formulation
- Adding a definition
- adding a theorem
- Changing notation
- Changing assumptions so that the same system results.
- Generalisation
- Adding a variable = embedding in a larger set of possibilities.
- Removing an asumption.
?? Need road signs for these processes and the reasons for doing them.
Example of college 2
For example we may have need to track the enrollments of students in
classes with:
- Example2::=
Net{
- (Reality) |- S::=Students:Finite_sets,C::=Classes:Finite_Sets,
- E::=Enrollments.
- (Observation) |- (E0): |S|=1000 and |C|=160.
- (Interview with Dean Whozis, 11 Nov 99) |- E:S(0..10)-(1..40)C.
- |- (E1): E in @(S,C).
- E1::S->@C=fun [s] { c || s E c}.
- E2::C->@S=fun [c] { s || s E c}.
- |- (E3): E1 = S..E..C and E2 = C..E..S.
[ math_13_Data_Bases.html ]
Now if our concern is to rapidly tell students what their classes were then
we might well implement E2 rather then E1 or E. If we wish to rapidly tell
each lecturer who they are teaching then we might use E1 as our model. If
we need both then we might consider E.
}=::
Example.
. . . . . . . . . ( end of section Developing Documentation) <<Contents | End>>