IUL I ILUUUUU W. (WLW) Problems 1. (30 points) Determine whether the following predicates are satisfiable. (That is, whether you can pick strings for each free variable such that the predicate holds.) If so, give your assignment for the variables. (a) w 010 = 11010 (b) w 010 = 101 (c) 3v.101 (w ) (a) Vu.101 5 (w) (e) w = w w (f) Vo.v w 1 TL Reasoning About Strings This homework explores a logic over strings of the symbols 0 and 1. We define strings as either the empty string for a (finite, but potentially arbitrarily long) series of Os and 1s. For example, the following are sti E 0 0010 11111 10100100010000 We can also concatenate strings. If w and u are strings, we write their concatenation as w . For example: 010 101 = 010101 010 = 010 010101 010101 101 = 101 To reason about strings, we have two atomic predicates. The first is string equality, written w=u. For example, the following predicates hold: 10101010 10 10 = 1010 Vw.w = w In contrast, the following predicates do not hold: 1010 0101 0101 - 101 Vuw = Our second atomic predicate is the substring predicate, written w CV. The predicate w C v holds if w appears in order in v. For example, the following predicates hold: 01 C 1010 101 101Vw. ew In contrast, the following predicates do not hold: 10011 100000 Bw. ( ww) IUL I ILUUUUU W. (WLW) Problems 1. (30 points) Determine whether the following predicates are satisfiable. (That is, whether you can pick strings for each free variable such that the predicate holds.) If so, give your assignment for the variables. (a) w 010 = 11010 (b) w 010 = 101 (c) 3v.101 (w ) (a) Vu.101 5 (w) (e) w = w w (f) Vo.v w 1 TL Reasoning About Strings This homework explores a logic over strings of the symbols 0 and 1. We define strings as either the empty string for a (finite, but potentially arbitrarily long) series of Os and 1s. For example, the following are sti E 0 0010 11111 10100100010000 We can also concatenate strings. If w and u are strings, we write their concatenation as w . For example: 010 101 = 010101 010 = 010 010101 010101 101 = 101 To reason about strings, we have two atomic predicates. The first is string equality, written w=u. For example, the following predicates hold: 10101010 10 10 = 1010 Vw.w = w In contrast, the following predicates do not hold: 1010 0101 0101 - 101 Vuw = Our second atomic predicate is the substring predicate, written w CV. The predicate w C v holds if w appears in order in v. For example, the following predicates hold: 01 C 1010 101 101Vw. ew In contrast, the following predicates do not hold: 10011 100000 Bw. ( ww)