SOFL仕様記述言語の基本 コンポーネント SOFL論理 モジュール 条件データフロー図 プロセス仕様 関数仕様 階層的なデータフロー図 データ型 SOFL論理 SOFL論理は、命題論理と述語論理の拡張で、 「未定義」という特別な値を表すことができる論理 である。 論理は、正しい推理システムである。 推理システム = 言語(推理に必要な条件と結論を表す) + 推理ルール 2.命題論理 命題についての論理。 2.1 命題(proposition) 定義2.1 命題は真(true)または偽(false)と 判断できる表現である。 命題の事例: (1) 虎は動物である (true) (2) りんごは果物である (true) (3) 3 + 5 > 10 (false) 次の表現は命題ではない。 (1) 貴方は幸せですか? (2) 水泳に行きましょう。 (3) x := y + 3 (代入文) 定義2.2 論理値 true とfalse は、真理値(truth value)と言う。 SOFL言語では、truth value は、bool というブール型にまとめる。 bool = {true, false} 命題は、数学符号で表す。 (1) P: 虎は動物である。 (2) Q: りんごは果物である。 (3) R: 3 + 5 > 10. こういう命題は、原子命題(atomic proposition)と呼ぶ。 分解できないのは、原子命題の特徴である。 論理演算子によって簡単な命題からより複雑な命題 を形成することができる。 2.2 命題論理演算子 演算子 not and or => <=> 優先順位 一番高い 一番低い 2.3 論理積 定義2.3 論理積は、論理演算子andによって形成された 論理式である。 例え: x > 5 and x < 10 質問: 論理積の値は、どのように決めるのか。 論理積の真理表(truth table) P1 P2 P1 and P2 true true false false true false true false true false false false 事例: true and true <=> true false and true <=> false false and false <=> false 2.4 論理和 定義2.4 論理和は、論理演算子orによって形成 された論理式である。 P1 or P2 例え: x > 5 or x < 3 論理和の真理表(truth table) P1 or P2 P1 P2 true true true true false true false true true false false false 2.5 否定 定義2.5 否定は、論理演算子notによって形成 された論理式である。 not P1 例え: not x > 5 否定の真理表(truth table) P1 not P1 true false false true 2.6 含意 定義2.6 含意は、論理演算子=>によって形成され た論理式である。 P1 => P2 含意の真理表(truth table) P1 P2 P1 => P2 true true true true false false false true true false false true 例え: x > 10 => x > 5 この場合は、x > 10 が x > 5より強いとも言う. 2.7 同値 定義2.7 同値は、論理演算子<=>によって形成 された論理式である。 P1 <=> P2 同値の真理表(truth table) P1 P2 P1 <=> P2 true true true true false false false true false false false true 例え: (1)Johnは Chrisの友達である <=> Chrisは Johnの友達である (2) x > 10 <=> not x = 10 and not x < 10 括弧を使って、論理演算の優先順 位を変える 例えば、次の論理式 not p and q or r <=> p => q and r は、命題論理演算子の固有の優先順位によって次の 論理式と同値である。 (((not p) and q) or r) <=> (p => (q and r)) 括弧を使えば、次のような意味違う論理式も表現できる。 not (p and ((q or (r <=> p))=> q) and r) 2.8 正規形(Normal form) 定義2.8 和正規形(disjunctive normal form)は、論理積 から構成された論理和である。 P_1 or P_2 or ... or P_n ここで P_i (i = 1..n) は、原子命題またはそれの否定から 形成された論理積である。 特徴:P_iの一つが真であれば、その和正規形が 真になる。 定義2.9積正規形( conjunctive normal form)は、 論理和から構成された論理積である。 Q_1 and Q_2 and ??? and Q_m ここで Q_j (j=1..m) は、原子命題またはその否定 から形成された論理和である。 特徴:全てのQ_j は真であれば、その積正規形は 真である。 練習 2 1.次の論理式の演算順位を述べなさい。 a. P or Q and R =>P and Q or R b. P and Q or R <=> not R and not P or R c. P and (Q or not R) => not P <=> Q or R and not Q 2.次の論理式は、和正規形(disjunctive normal form)であるかどう かを判断しなさい。 a. P1 and Q1 or (P2 or Q2) or P3 and Q3 b. P1 or P2 and not P3 or true or false c. P1 and P2 => P3 and P4 or P5 and not P6
© Copyright 2024 Paperzz