On this page:
8.1 Names and references
8.2 Adding and updating
9.3

8 Propositions🔗ℹ

A proposition is a named hypothesis, assumption, or conclusion. Its text is the author’s statement. The language records relationships between statements; it does not judge whether they are scientifically justified.

Compact

#lang sciencelogo

workflow "Does a smaller swing have a shorter period?"

 

hypothesis shorter-swing [text = "A shorter swing has a shorter period"]

assumption hand-timing [text = "Hand timing is comparable across trials"]

conclusion regular-period [text = "The observed period was nearly constant"]

 

stage Review

hypotheses.shorter-swing += conclusion not-supported [

  text = "The measurements did not support a shorter period"

]

Verbose

#lang sciencelogo

workflow "Does a smaller swing have a shorter period?"

 

hypothesis shorter-swing [set text to "A shorter swing has a shorter period"]

assumption hand-timing [set text to "Hand timing is comparable across trials"]

conclusion regular-period [set text to "The observed period was nearly constant"]

 

start stage Review

update shorter-swing of hypotheses with conclusion not-supported [

  set text to "The measurements did not support a shorter period"

]

regular-period is an independent conclusion: it is not linked to a stated hypothesis. not-supported is nested under shorter-swing, so the written method explicitly says which hypothesis it answers. A hypothesis may remain without a conclusion, and a conclusion need not answer a hypothesis.

8.1 Names and references🔗ℹ

The plural names hypotheses, assumptions, and conclusions access propositions at the root and at every nested level. The two conclusions above have these paths:

Compact

conclusions.regular-period

hypotheses.shorter-swing.conclusions.not-supported

Verbose

regular-period of conclusions

not-supported of hypotheses.shorter-swing.conclusions

Add .text to read or update the wording. Each name is unique among propositions of its type under the same parent. The same name may occur under different parents because the full paths differ. Every proposition can hold children of any of the three types.

8.2 Adding and updating🔗ℹ

+= adds a named child. Repeating its type and name at the same location is an error; += never silently replaces an existing proposition. Use = to update a field of an existing proposition:

Compact

hypotheses.shorter-swing.conclusions.not-supported.text =

  "The revised finding"

Verbose

set text of hypotheses.shorter-swing.conclusions.not-supported to

  "The revised finding"

An independent conclusion can also be added later:

Compact

conclusions += conclusion regular-period [text = "The period was nearly constant"]

Verbose

update conclusions with conclusion regular-period [set text to "The period was nearly constant"]

Nested propositions can be written inside the original declaration. A collection is a named record; an omitted collection starts empty.

Compact

hypothesis shorter-swing [

  text = "A shorter swing has a shorter period"

  conclusions = [not-supported = [text = "Measurements did not support it"]]

]

Verbose

hypothesis shorter-swing [

  set text to "A shorter swing has a shorter period"

  set conclusions to [set not-supported to [set text to "Measurements did not support it"]]

]

The proposition contract gives the complete rule and explains how a proposition can appear in a paired stage’s information set.