###### Cookies disclaimer

Our site saves small pieces of text information (cookies) on your device in order to deliver better content and for statistical purposes. You can disable the usage of cookies by changing the settings of your browser. By browsing our website without changing the browser settings you grant us permission to store that information on your device.

# [2019-Mar] Continuous Confusion

Carl is constantly confused about the continuity of some of his functions. He builds a large theory upon some tiny assumptions. But in the end he is not really sure whether they are actually true.

After continuously working on his theories for some hours he finally is at peace when he can reduce his unknowns to only one pending assumption, and has a beautiful and peaceful sleep

Can you help him to show that his assumptions are correct, or doom him by showing that they are all wrong?

## Resources

Download Files

### Definitions File

```theory Defs
imports "HOL-Library.Extended_Nat"
begin

end
```

### Template File

```theory Submission
imports Defs
begin

lemma enat_add_cont1:
"(SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<ge> (SUP b:B. f b + g b)"
apply (rule Sup_least)
sorry

lemma enat_add_cont1_not:
shows "~(\<forall>f g B. (SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<ge> (SUP b:B. f b + g b))"
sorry

lemma enat_add_cont2:
"(SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<le> (SUP b:B. f b + g b)"
sorry

lemma enat_add_cont2_not:
shows "~(\<forall>f g B. (SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<le> (SUP b:B. f b + g b))"
sorry

lemma enat_add_cont:
"(SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) = (SUP b:B. f b + g b)"
sorry

lemma enat_add_cont_not:
shows "~(\<forall>f g B. (SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) = (SUP b:B. f b + g b))"
sorry

end
```

### Check File

```theory Check
imports  Submission
begin

lemma A:
shows "(SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<ge> (SUP b:B. f b + g b)"
apply(fact enat_add_cont1) done

(* or *)

lemma A:
shows "~(\<forall>f g B. (SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<ge> (SUP b:B. f b + g b))"
apply(fact enat_add_cont1_not) done

lemma B:
"(SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<le> (SUP b:B. f b + g b)"
apply(fact enat_add_cont2) done

(* or *)

lemma B: "~(\<forall>f g B. (SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<le> (SUP b:B. f b + g b))"
apply(fact enat_add_cont2_not) done

lemma C:
"(SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) = (SUP b:B. f b + g b)"
apply(fact enat_add_cont) done

(* or *)

lemma C: "~(\<forall>f g B. (SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) = (SUP b:B. f b + g b))"
apply(fact enat_add_cont_not) done

end
```
Download Files

### Definitions File

```theory Defs
imports "HOL-Library.Extended_Nat"
begin

end
```

### Template File

```theory Submission
imports Defs
begin

lemma enat_add_cont1:
"(SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<ge> (SUP b:B. f b + g b)"
apply (rule Sup_least)
sorry

lemma enat_add_cont1_not:
shows "~(\<forall>f g B. (SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<ge> (SUP b:B. f b + g b))"
sorry

lemma enat_add_cont2:
"(SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<le> (SUP b:B. f b + g b)"
sorry

lemma enat_add_cont2_not:
shows "~(\<forall>f g B. (SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<le> (SUP b:B. f b + g b))"
sorry

lemma enat_add_cont:
"(SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) = (SUP b:B. f b + g b)"
sorry

lemma enat_add_cont_not:
shows "~(\<forall>f g B. (SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) = (SUP b:B. f b + g b))"
sorry

end
```

### Check File

```theory Check
imports  Submission
begin

lemma A:
shows "(SUP b∈B. (f::(enat\<Rightarrow>enat)) b) + (SUP b∈B. g b) \<ge> (SUP b∈B. f b + g b)"
apply(fact enat_add_cont1) done

(* or *)

lemma A:
shows "~(\<forall>f g B. (SUP b∈B. (f::(enat\<Rightarrow>enat)) b) + (SUP b∈B. g b) \<ge> (SUP b∈B. f b + g b))"
apply(fact enat_add_cont1_not) done

lemma B:
"(SUP b∈B. (f::(enat\<Rightarrow>enat)) b) + (SUP b∈B. g b) \<le> (SUP b∈B. f b + g b)"
apply(fact enat_add_cont2) done

(* or *)

lemma B: "~(\<forall>f g B. (SUP b∈B. (f::(enat\<Rightarrow>enat)) b) + (SUP b∈B. g b) \<le> (SUP b∈B. f b + g b))"
apply(fact enat_add_cont2_not) done

lemma C:
"(SUP b∈B. (f::(enat\<Rightarrow>enat)) b) + (SUP b∈B. g b) = (SUP b∈B. f b + g b)"
apply(fact enat_add_cont) done

(* or *)

lemma C: "~(\<forall>f g B. (SUP b∈B. (f::(enat\<Rightarrow>enat)) b) + (SUP b∈B. g b) = (SUP b∈B. f b + g b))"
apply(fact enat_add_cont_not) done

end
```
Download Files

### Definitions File

```theory Defs
imports "HOL-Library.Extended_Nat"
begin

end
```

### Template File

```theory Submission
imports Defs
begin

lemma enat_add_cont1:
"(SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<ge> (SUP b:B. f b + g b)"
apply (rule Sup_least)
sorry

lemma enat_add_cont1_not:
shows "~(\<forall>f g B. (SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<ge> (SUP b:B. f b + g b))"
sorry

lemma enat_add_cont2:
"(SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<le> (SUP b:B. f b + g b)"
sorry

lemma enat_add_cont2_not:
shows "~(\<forall>f g B. (SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<le> (SUP b:B. f b + g b))"
sorry

lemma enat_add_cont:
"(SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) = (SUP b:B. f b + g b)"
sorry

lemma enat_add_cont_not:
shows "~(\<forall>f g B. (SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) = (SUP b:B. f b + g b))"
sorry

end
```

### Check File

```theory Check
imports  Submission
begin

lemma A:
shows "(SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<ge> (SUP b:B. f b + g b)"
apply(fact enat_add_cont1) done

(* or *)

lemma A:
shows "~(\<forall>f g B. (SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<ge> (SUP b:B. f b + g b))"
apply(fact enat_add_cont1_not) done

lemma B:
"(SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<le> (SUP b:B. f b + g b)"
apply(fact enat_add_cont2) done

(* or *)

lemma B: "~(\<forall>f g B. (SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) \<le> (SUP b:B. f b + g b))"
apply(fact enat_add_cont2_not) done

lemma C:
"(SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) = (SUP b:B. f b + g b)"
apply(fact enat_add_cont) done

(* or *)

lemma C: "~(\<forall>f g B. (SUP b:B. (f::(enat\<Rightarrow>enat)) b) + (SUP b:B. g b) = (SUP b:B. f b + g b))"
apply(fact enat_add_cont_not) done

end
```

Terms and Conditions