Documentation
MDP
.
Paths
.
Prob
Search
return to top
source
Imports
Init
MDP.ENNRealExt
MDP.Scheduler
MDP.Paths.Bounded
Mathlib.Algebra.BigOperators.Fin
Imported by
MDP
.
Path
.
Prob
MDP
.
Path
.
singleton_Prob
MDP
.
Path
.
Prob_le_one
MDP
.
Path
.
Prob_ne_top
MDP
.
Path
.
extend_Prob
MDP
.
Path
.
prepend_Prob
MDP
.
Path
.
Prob_tail
MDP
.
Path
.
tsum_succs_univ_Prob_eq_one
MDP
.
Path
.
tsum_Prob_eq_one
MDP
.
Path_eq
.
tsum_add_left
MDP
.
Path
.
tsum_Prob_eq_one_comp
MDP
.
Path
.
one_sub_tsum_ite_Prob_eq
MDP
.
Path
.
one_sub_tsum_ite_Prob_eq'
source
noncomputable def
MDP
.
Path
.
Prob
{
State
:
Type
u_1}
{
Act
:
Type
u_2}
{
M
:
MDP
State
Act
}
(
๐ฎ
:
๐[
M
]
)
(
ฯ
:
M
.
Path
)
:
ENNReal
Equations
MDP.Path.Prob
๐ฎ
ฯ
=
โ
i
:
Fin
(
โ
ฯ
โ
-
1
)
,
M
.
P
ฯ
[
i
]
(
๐ฎ
(
ฯ
.
take
โ
i
)
)
ฯ
[
i
.
succ
]
Instances For
source
@[simp]
theorem
MDP
.
Path
.
singleton_Prob
{
State
:
Type
u_1}
{
Act
:
Type
u_2}
{
M
:
MDP
State
Act
}
(
x
:
State
)
(
๐ฎ
:
๐[
M
]
)
:
Prob
๐ฎ
{
x
}
=
1
source
@[simp]
theorem
MDP
.
Path
.
Prob_le_one
{
State
:
Type
u_1}
{
Act
:
Type
u_2}
{
M
:
MDP
State
Act
}
(
ฯ
:
M
.
Path
)
(
๐ฎ
:
๐[
M
]
)
:
Prob
๐ฎ
ฯ
โค
1
source
@[simp]
theorem
MDP
.
Path
.
Prob_ne_top
{
State
:
Type
u_1}
{
Act
:
Type
u_2}
{
M
:
MDP
State
Act
}
(
ฯ
:
M
.
Path
)
(
๐ฎ
:
๐[
M
]
)
:
Prob
๐ฎ
ฯ
โ
โค
source
theorem
MDP
.
Path
.
extend_Prob
{
State
:
Type
u_1}
{
Act
:
Type
u_2}
{
M
:
MDP
State
Act
}
(
ฯ
:
M
.
Path
)
(
s
:
โ
(
M
.
succs_univ
ฯ
.
last
)
)
(
๐ฎ
:
๐[
M
]
)
:
Prob
๐ฎ
(
ฯ
.
extend
s
)
=
M
.
P
ฯ
.
last
(
๐ฎ
ฯ
)
โ
s
*
Prob
๐ฎ
ฯ
source
theorem
MDP
.
Path
.
prepend_Prob
{
State
:
Type
u_1}
{
Act
:
Type
u_2}
{
M
:
MDP
State
Act
}
(
ฯ
:
M
.
Path
)
[
DecidableEq
State
]
(
๐ฎ
:
๐[
M
]
)
(
s
:
โ
(
M
.
prev_univ
ฯ
[
0
]
)
)
:
Prob
๐ฎ
(
ฯ
.
prepend
s
)
=
M
.
P
(โ
s
)
(
๐ฎ
{
โ
s
}
)
ฯ
[
0
]
*
Prob
(
๐ฎ
.
specialize
โ
s
โจ
ฯ
[
0
]
,
โฏ
โฉ
)
ฯ
source
theorem
MDP
.
Path
.
Prob_tail
{
State
:
Type
u_1}
{
Act
:
Type
u_2}
{
M
:
MDP
State
Act
}
(
ฯ
:
M
.
Path
)
[
DecidableEq
State
]
(
h
:
1
<
โ
ฯ
โ
)
(
๐ฎ
:
๐[
M
]
)
:
Prob
๐ฎ
ฯ
=
M
.
P
ฯ
[
0
]
(
๐ฎ
{
ฯ
[
0
]
}
)
ฯ
[
1
]
*
Prob
(
๐ฎ
.
specialize
ฯ
[
0
]
โจ
ฯ
[
1
]
,
โฏ
โฉ
)
ฯ
.
tail
source
@[simp]
theorem
MDP
.
Path
.
tsum_succs_univ_Prob_eq_one
{
State
:
Type
u_1}
{
Act
:
Type
u_2}
{
M
:
MDP
State
Act
}
{
๐ฎ
:
๐[
M
]
}
(
ฯ
:
M
.
Path
)
:
โ'
(
ฯ'
:
โ
ฯ
.
succs_univ
)
,
Prob
๐ฎ
โ
ฯ'
=
Prob
๐ฎ
ฯ
source
@[simp]
theorem
MDP
.
Path
.
tsum_Prob_eq_one
{
State
:
Type
u_1}
{
Act
:
Type
u_2}
{
M
:
MDP
State
Act
}
{
s
:
State
}
{
๐ฎ
:
๐[
M
]
}
(
n
:
โ
)
:
โ'
(
ฯ
:
โ
Path[
M
,
s
,
=
n
+
1
]
)
,
Prob
๐ฎ
โ
ฯ
=
1
source
theorem
MDP
.
Path_eq
.
tsum_add_left
{
State
:
Type
u_1}
{
Act
:
Type
u_2}
{
M
:
MDP
State
Act
}
{
n
:
โ
}
{
s'
:
State
}
{
๐ฎ
:
๐[
M
]
}
{
a
:
ENNReal
}
(
f
:
โ
Path[
M
,
s'
,
=
n
+
1
]
โ
ENNReal
)
:
โ'
(
ฯ
:
โ
Path[
M
,
s'
,
=
n
+
1
]
)
,
(
Path.Prob
๐ฎ
โ
ฯ
*
a
+
f
ฯ
)
=
a
+
โ'
(
ฯ
:
โ
Path[
M
,
s'
,
=
n
+
1
]
)
,
f
ฯ
source
@[simp]
theorem
MDP
.
Path
.
tsum_Prob_eq_one_comp
{
State
:
Type
u_1}
{
Act
:
Type
u_2}
{
M
:
MDP
State
Act
}
{
s
:
State
}
{
๐ฎ
:
๐[
M
]
}
(
n
:
โ
)
(
S
:
Set
โ
Path[
M
,
s
,
=
n
+
1
]
)
:
โ'
(
ฯ
:
โ
S
)
,
Prob
๐ฎ
โ
โ
ฯ
+
โ'
(
ฯ
:
โ
S
แถ
)
,
Prob
๐ฎ
โ
โ
ฯ
=
1
source
@[simp]
theorem
MDP
.
Path
.
one_sub_tsum_ite_Prob_eq
{
State
:
Type
u_1}
{
Act
:
Type
u_2}
{
M
:
MDP
State
Act
}
{
s
:
State
}
{
๐ฎ
:
๐[
M
]
}
(
n
:
โ
)
(
p
:
โ
Path[
M
,
s
,
=
n
+
1
]
โ
Prop
)
[
DecidablePred
p
]
:
(
1
-
โ'
(
ฯ
:
โ
Path[
M
,
s
,
=
n
+
1
]
)
,
if
p
ฯ
then
Prob
๐ฎ
โ
ฯ
else
0
)
=
โ'
(
ฯ
:
โ
Path[
M
,
s
,
=
n
+
1
]
)
,
if
p
ฯ
then
0
else
Prob
๐ฎ
โ
ฯ
source
@[simp]
theorem
MDP
.
Path
.
one_sub_tsum_ite_Prob_eq'
{
State
:
Type
u_1}
{
Act
:
Type
u_2}
{
M
:
MDP
State
Act
}
{
s
:
State
}
{
๐ฎ
:
๐[
M
]
}
(
n
:
โ
)
(
p
:
โ
Path[
M
,
s
,
=
n
+
1
]
โ
Prop
)
[
DecidablePred
p
]
:
(
1
-
โ'
(
ฯ
:
โ
Path[
M
,
s
,
=
n
+
1
]
)
,
if
p
ฯ
then
0
else
Prob
๐ฎ
โ
ฯ
)
=
โ'
(
ฯ
:
โ
Path[
M
,
s
,
=
n
+
1
]
)
,
if
p
ฯ
then
Prob
๐ฎ
โ
ฯ
else
0