atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
TLA+メモ@ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
TLA+メモ@ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
TLA+メモ@ウィキ
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • TLA+メモ@ウィキ
  • よく使う表現

TLA+メモ@ウィキ

よく使う表現

最終更新:2023年05月27日 00:22

tlaplus

- view
メンバー限定 登録/ログイン
モデルを記述する際によく使う表現を記載する。

タプル(シーケンス)に含まれる特定の値の要素の数をカウントする


VARIABLES tuple
Init == tuple = <<1, 2, 3, 2, 1, 2, 3, 2, 1>>
 
Count(t,n) == LET S == {i \in DOMAIN t : t[i] = n} IN Cardinality(S)
 

この定義では、シーケンスtの各要素について、その要素がnと等しい場合にインデックスiを集合Sに追加する。
その後、Cardinality(S)を使用して集合Sの要素数(つまり、値nの出現数)を求める。
この定義を使用して、例えばCount(tuple,2)とすることで、シーケンスtuple内の2の出現数を得ることができる。

タプルを集合に変換する

VARIABLES tuple
Init == tuple = <<1, 2, 3, 2, 1, 2, 3, 2, 1>>
TupleToSet(t) == { t[i] : i \in DOMAIN t }
 
この定義では、タプルtの各要素t[i]を集合の要素として取り出している。
例えばTupleToSet(tuple)とすることで、タプルtupleを集合に変換することができる。
この場合、結果は{1, 2, 3}となる。同じ値がタプルに複数回含まれていても、集合には一度しか現れない。
これは集合が重複を許さないデータ構造であるため。

集合をタプルに変換する


VARIABLES S
Init == S = {1, 2, 3, 4, 5}
SetToTuple(set) == LET sorted == CHOOSE seq \in [1..Cardinality(set) -> set] : 
                   \A i \in 1..(Cardinality(set)-1) : seq[i] <= seq[i+1]
                   IN [i \in 1..Cardinality(set) |-> sorted[i]]
 
 

この例では、集合の要素が自然数であり、昇順に並べられると仮定している。
まずCHOOSEを使用して、集合setの要素を昇順に並べたシーケンスseqを選択し、
その後、このシーケンスを基にタプルを作成する。

この定義を使用して、例えばSetToTuple(S)とすることで、集合Sをタプルに変換することができる。
この方法は集合の要素が順序付け可能であることを前提として、また、CHOOSEは非決定的な選択を行うため、
同じ集合を複数回タプルに変換すると異なる結果が得られる可能性がある。
これはTLA+の非決定性の性質によるもので、モデル検査の際にはすべての可能な選択が考慮される。
「よく使う表現」をウィキ内検索
LINE
シェア
Tweet

[Amazon商品]


TLA+メモ@ウィキ
記事メニュー

メニュー

  • トップページ
  • TLA+とは
  • ボイラープレート
  • 型 (Type)
  • 文法 (Syntax)
  • PlusCal構文
  • 時相論理 (temporal logic)
  • TLA+ TooolBox
  • よく使う表現
  • 例題


リンク

  • The TLA+ Home Page
  • TLA+ Foundation
  • TLA+ GitHub
  • TLA+ Video Course (YouTube)
  • Learn TLA+
  • @wiki
  • @wikiご利用ガイド


アクセス

今日: -
昨日: -
合計: -


ここを編集
記事メニュー2

人気のページ

  • TLA+とは
  • PlusCal構文
  • 食事する哲学者の問題
  • トップページ
  • 型 (Type)
  • 例題
  • 文法 (Syntax)
  • 時相論理 (temporal logic)
  • うそつき牛(レイトン教授)
  • ボイラープレート

更新履歴


編集履歴

取得中です。

ここを編集
最近更新されたページ
  • 103日前

    TLA+とは
  • 103日前

    メニュー
  • 478日前

    PlusCal構文
  • 662日前

    型 (Type)
  • 663日前

    時相論理 (temporal logic)
  • 680日前

    文法 (Syntax)
  • 818日前

    川渡り問題
  • 819日前

    例題
  • 823日前

    うそつき牛(レイトン教授)
  • 823日前

    食事する哲学者の問題
もっと見る
最近更新されたページ
  • 103日前

    TLA+とは
  • 103日前

    メニュー
  • 478日前

    PlusCal構文
  • 662日前

    型 (Type)
  • 663日前

    時相論理 (temporal logic)
  • 680日前

    文法 (Syntax)
  • 818日前

    川渡り問題
  • 819日前

    例題
  • 823日前

    うそつき牛(レイトン教授)
  • 823日前

    食事する哲学者の問題
もっと見る
ウィキ募集バナー
急上昇Wikiランキング

急上昇中のWikiランキングです。今注目を集めている話題をチェックしてみよう!

  1. ポケモン 作品なりきりネタWiki
  2. 第2次スーパーロボット大戦OG&ダークプリズン 攻略まとめ @ウィキ
  3. シュガードール情報まとめウィキ
  4. ストグラ まとめ @ウィキ
  5. クッキー☆解説Wiki
  6. アサルトリリィ wiki
  7. ファイアーエムブレム用語辞典
  8. ヌカづけ◎日本語コンシューマ版「Fallout」wiki
  9. 戦隊・ライダー:怪人まとめ@ ウィキ
  10. Pokemon Altair @攻略wiki
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 発車メロディーwiki
  6. 検索してはいけない言葉 @ ウィキ
  7. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  8. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  9. オレカバトル アプリ版 @ ウィキ
  10. 英傑大戦wiki
もっと見る
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. まどドラ攻略wiki
  3. シュガードール情報まとめウィキ
  4. R.E.P.O. 日本語解説Wiki
  5. Dark War Survival攻略
  6. SurrounDead 攻略 (非公式wiki)
  7. カツドンチャンネル @ Wiki
  8. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  9. AviUtl2のWiki
  10. Wplace Wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. 我孫子 清十郎 - ストグラ まとめ @ウィキ
  3. 鳥好 ひよ子 - ストグラ まとめ @ウィキ
  4. プレイ指針について - ストグラ まとめ @ウィキ
  5. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  6. ロックスター(ONE PIECE) - アニヲタWiki(仮)
  7. MOZU - ストグラ まとめ @ウィキ
  8. ウイングガンダムゼロ【EW】/ログ1 - 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  9. NO LIMIT - ストグラ まとめ @ウィキ
  10. ミッション攻略 - 地球防衛軍6 @ ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.