The shared-symbol decoder (issue #10, Unit 5a) #
Craig separation returns a sentence over the shared vocabulary of the two PC
presentations, namely symbSublang of the intersections of their occurrence sets. Unit 2b's
pcSentence_relationsIn_inter already proves that this intersection contains only graph
images of base relation symbols, so the separator can be decoded straight back into L —
no detour through KLang L or backTranslateFormula is needed.
Contents:
sharedLang— the Craig shared language, exactly ascraig_pcSeparation_relationalreturns it for the two side sentences;exists_base_of_mem_relSym— underL.IsRelational, every symbol ofrelSym (KLang L) (baseFuns L) (baseRels L)isGraphRelation.base (Sum.inl R)for a base relationRof the same arity (thebaseFunsbranch is vacuous);sharedToBase : sharedLang L T₀ T₁ →ᴸ L— the decoder, withsharedToBase_onRelation_specrecovering the shared symbol from its base preimage;realize_sharedToBase— the semantic square: for every graph coded, a shared sentence holds in the sublanguage reduct ofdiff its decoding holds incodeReduct d.