module Drasil.GlassBR.Goals (goals, willBreakGS) where

import Language.Drasil
import qualified Language.Drasil.Sentence.Combinators as S

import Data.Drasil.Concepts.Documentation (goalStmtDom, userInput)
import Data.Drasil.Concepts.Thermodynamics (degree_')

import Drasil.GlassBR.Concepts (glaSlab)
import Drasil.GlassBR.Unitals (explosion)

goals :: [ConceptInstance]
goals :: [ConceptInstance]
goals = [ConceptInstance
willBreakGS]

willBreakGS :: ConceptInstance
willBreakGS :: ConceptInstance
willBreakGS = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic "willBreakGS" ([Sentence] -> Sentence
foldlSent [String -> Sentence
S "Analyze" Sentence -> Sentence -> Sentence
`S.and_`
  String -> Sentence
S "predict whether the", NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
glaSlab, String -> Sentence
S "under consideration will be able",
  String -> Sentence
S "to withstand the", ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase ConceptChunk
explosion Sentence -> Sentence -> Sentence
`S.of_` String -> Sentence
S "a certain", ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase ConceptChunk
degree_',
  String -> Sentence
S "which is calculated based on", NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
userInput])
  "Predict-Glass-Withstands-Explosion" ConceptChunk
goalStmtDom